- 博客(19)
- 收藏
- 关注
原创 二叉树的前中后序遍历——leetcode94、144、145
在解决二叉树的前中后序遍历的时候,首要了解的是前中后序指的是根节点在哪被遍历,了解了这个想法,其实使用递归的方法就很好解决这几个题目了。我认为最关键的还是要想到如何在遍历完左子树或者右子树时再回到根节点,不然无法保证顺序!给定一个二叉树的根节点 root ,返回 它的 中序 遍历。进阶: 递归算法很简单,你可以通过迭代算法完成吗?想到的解法不是很好,没有正面的解决根节点位置的问题。输入:root = [1,null,2,3]输入:root = [1]输入:root = []输出:[1,3,2]
2025-07-23 22:35:28
854
原创 leetcode90——子集2
解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]给你一个整数数组 nums ,其中可能包含。,请你返回该数组所有可能的 子集(幂集)。回溯法,记得在回溯之前取出使用过的数据。输入:nums = [1,2,2]输入:nums = [0]输出:[[],[0]]
2025-07-18 18:50:07
447
原创 leetcode78——子集
给你一个整数数组 nums ,数组中的元素 互不相同。返回该数组所有可能的子集(幂集)。输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。回溯法,记得在回溯之前取出使用过的数据。输入:nums = [1,2,3]nums 中的所有元素 互不相同。输入:nums = [0]输出:[[],[0]]
2025-07-06 16:40:07
301
原创 leetcode77——组合
给定两个整数 n 和 k,返回范围 [1, n] 中所有可能的 k 个数的组合。你可以按 任何顺序 返回答案。输入:n = 4, k = 2。输入:n = 1, k = 1。
2025-07-03 14:08:26
353
原创 leetcode56——合并区间
以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, endi]。输入:intervals = [[1,3],[2,6],[8,10],[15,18]]解释:区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].解释:区间 [1,4] 和 [4,5] 可被视为重叠区间。输入:intervals = [[1,4],[4,5]]输出:[[1,6],[8,10],[15,18]]输出:[[1,5]]
2025-06-26 18:13:39
483
原创 leetcode53——最大子数组和
给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。输入:nums = [-2,1,-3,4,-1,2,1,-5,4]解释:连续子数组 [4,-1,2,1] 的和最大,为 6。输入:nums = [5,4,-1,7,8]子数组是数组中的一个连续部分。输入:nums = [1]
2025-04-09 20:01:37
236
原创 leetcode46——全排列
回溯法去探索每一种可能性,每次从数组中取一个之前没有使用过的数,然后标记这个数为已使用,并作为新的开始去循环这个过程;而本轮循环还未停止,如找第一个数的时候,除去上一步选择的数之外还有多个可能性,所以需要把上一步的操作进行回退,再去寻找其他的可能性。输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]你可以 按任意顺序 返回答案。输入:nums = [1,2,3]输出:[[0,1],[1,0]]输入:nums = [0,1]输入:nums = [1]
2025-03-31 14:48:30
550
原创 leetcode49——字母异位词分组
输入: strs = [“eat”, “tea”, “tan”, “ate”, “nat”, “bat”]字母异位词的特点是所含有的字母数量和类别一样,利用这点可以用hashmap对每个类型的字符串进行区分。输出: [[“bat”],[“nat”,“tan”],[“ate”,“eat”,“tea”]]给你一个字符串数组,请你将 字母异位词 组合在一起。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。输入: strs = [“a”]输出: [[“a”]]输出: [[“”]]
2025-03-19 18:49:22
492
原创 leetcode35——搜索插入位置
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。请必须使用时间复杂度为 O(log n) 的算法。
2025-03-18 21:26:43
258
原创 leetcode27——移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素。元素的顺序可能发生改变。然后返回 nums 中与 val 不同的元素的数量。更改 nums 数组,使 nums 的前 k 个元素包含不等于 val 的元素。nums 的其余元素和 nums 的大小并不重要。移除相同的元素也就等于统计不等于val的元素,关键是不要求数组里面是咋样存的,所以直接整理到数组头部。
2025-03-15 20:51:14
316
原创 leetcode24——两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。
2025-03-14 19:37:45
427
原创 leetcode22——括号生成
输出:[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”]数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。方法递归(注意方法传递的参数和递归的出口)
2025-03-14 19:27:15
521
原创 leetcode21——合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。对链表的操作(注意指针指向空的时机)
2025-03-13 19:04:59
300
原创 docker搭建zookeeper3.5.7集群
使用VMware虚拟机,centos7环境,docker版本26.1.4,想启动的zookeeper版本3.5.7。
2024-10-02 16:01:18
1185
1
原创 python的《外星人入侵》小游戏打包成exe文件
问题引出:提示:没有生成exe经验的朋友可以先看一下我之前写的相关文章python文件生成exe之在pycharm使用pyinstaller指令这里说一下为什么会我会遇到这问题:首先,我从书本《python编程:从入门到实践》上学到了这个《外星人入侵》(实则就是飞机大战)小游戏的编写(看着书本写的,自己来的话还真不一定能复述出来),这个过程还是挺有趣的。所以我还是想把这个分享给别人,不过不能直接把代码发过去吧,所以我就想着把它弄成exe文件,随后直接发个压缩包就解决了,但是就在我想着直接来一句py
2020-11-05 12:33:18
753
2
原创 python实现外星人入侵小游戏
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档python实现外星人入侵小游戏前言一、alien_invasion.py二、game_function.py三、settings.py四、bullet.py五、alien_bullet.py六、ship.py七、alien.py八、button.py九、socrebroad.py十、game_stats.py总结前言某一天,一个想法从我的大脑诞生了:我想学一下python,于是以为年轻的大学生开始掉入了这个大坑之中,有时津津乐道,有
2020-10-30 21:35:31
1551
1
原创 python文件生成exe之在pycharm使用pyinstaller指令
在pycharm里面安装pyinstaller直入正题之前,我们得先在pycharm上安装好这个插件。按照下图所示方法打开terminal(这个我感觉相当于你电脑运行cmd),随后你还是得找到你的python安装路径,C盘的话好像直接使用指令: pip install pyinstaller,D盘的话就要找到目录进行安装。python3的版本可以试着吧指令换为: pip3 install pyinstaller问题引出之前我在电脑上用python搞了一个小程序(很简单的,就不细讲),但是等到我
2020-10-29 12:33:30
1482
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅