![](https://img-blog.csdnimg.cn/20200116000526607.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
Leetcode实战
Fenco_Han
沉下去,慢慢折腾。
展开
-
P238移动零
两次遍历创建两个指针i和j,第一次遍历将指针j用来记录当前数组中非0元素。即遍历的时候每遇到一个非0元素就将其往数组左边挪,第一次遍历之后,j指针的下标指向了最后一个非0元素。第二次遍历时,就从i位置开始到结束,将剩下的这段区域内元素全部置0。//时间复杂度:O(n)//空间复杂度:O(1)public void moveZeroes(int[] nums) { if (nums == null) { return; } //第一次遍历的时候,j指针记录.原创 2021-01-14 17:32:47 · 158 阅读 · 0 评论 -
P20 有效的括号
给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: true示例 3:输入: "(]"输出:...原创 2020-02-13 22:52:14 · 89 阅读 · 0 评论 -
算法学习入门(二)
算法学习入门(二)训练环境的设置,编码技巧和Code Style电脑配置搜索引擎默认GoogleTerminalMac:iTerm2 +zshWindows:Microsoft new terminalLeetCode plugin (vscode & IntelliJ)http://vscodethemes.com/骚操作https://juejin.im/...原创 2020-01-16 13:20:49 · 118 阅读 · 0 评论 -
算法学习入门(一)
算法学习推荐书籍:《异类:不一样的成功启示》精通一个领域:切碎知识点刻意练习(五毒神掌,练习弱项)反馈主动反馈数据结构一维:基础:数组array (String),链表 linked list高级:栈 stack, 队列 queue, 双端队列 deque, 集合 set , 映射 map(hash or map)二维:基础:数tree ,图 grap...原创 2020-01-16 13:18:53 · 145 阅读 · 0 评论 -
P283移动零
P283移动零给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。示例:输入: [0,1,0,3,12]输出: [1,3,12,0,0]说明:必须在原数组上操作,不能拷贝额外的数组。尽量减少操作次数。Related Topics:数组,双指针方法一:遍历所有数组并统计零的个数,将所有非零数往前移动,最后在数组末尾添加统计零...原创 2020-01-16 13:17:12 · 161 阅读 · 0 评论 -
P268 缺失数字
P268 缺失数字给定一个包含 0, 1, 2, ..., n 中 n 个数的序列,找出 0 … n 中没有出现在序列中的那个数。示例 1:输入: [3,0,1]输出: 2示例 2:输入: [9,6,4,2,3,5,7,0,1]输出: 8说明:你的算法应具有线性时间复杂度。你能否仅使用额外常数空间来实现?Related Topics :位运算 数组 数学 ...原创 2020-01-16 13:14:20 · 108 阅读 · 0 评论 -
P206反转一个单链表
P206反转一个单链表示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL进阶:你可以迭代或递归地反转链表。你能否用两种方法解决这道题?Related Topics:链表 /** *方法一:使用递归 */ class Solution { ...原创 2020-01-16 11:29:03 · 146 阅读 · 0 评论 -
P142环形链表II
P142环形链表II给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。**说明:**不允许修改给定的链表。示例 1:输入:head = [3,2,0,-4], pos = 1输出:tail connects to n...原创 2020-01-16 11:27:53 · 89 阅读 · 0 评论 -
P141环形链表
P141环形链表给定一个链表,判断链表中是否有环。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。示例 1:输入:head = [3,2,0,-4], pos = 1输出:true解释:链表中有一个环,其尾部连接到第二个节点。示例 2:输入:head = [1,2], pos = 0...原创 2020-01-16 11:25:46 · 107 阅读 · 0 评论 -
P24两两交换链表中的节点
P24两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例:给定 1->2->3->4, 你应该返回 2->1->4->3.Related Topics:链表/** *方法一:迭代法 */class Solution { public List...原创 2020-01-16 11:24:47 · 139 阅读 · 0 评论 -
P21合并两个有序链表
P21合并两个有序链表将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4Related Topics:链表/** *方法一: *递归方法:利用mergeTwoLists本身进行递归。 */class ...原创 2020-01-16 11:23:05 · 241 阅读 · 1 评论 -
P15三数之和
P15三数之和给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 *a,b,c ,*使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。**注意:**答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]...原创 2020-01-16 11:22:03 · 86 阅读 · 0 评论 -
P11盛水最多的容器
P11盛水最多的容器给定 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。**说明:**你不能倾斜容器,且 n 的值至少为 2。图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况...原创 2020-01-16 11:20:56 · 112 阅读 · 0 评论 -
P1两数之和
P1两数之和给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]Re...原创 2020-01-16 11:19:01 · 129 阅读 · 0 评论