随笔分类 -  leetcode

摘要:322. 零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 1。 来源:力扣(LeetCode) 链接:https://leetcode cn.com/problems/coin c 阅读全文
posted @ 2020-03-08 19:44 小路不会迷路 阅读(311) 评论(0) 推荐(0)
摘要:请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的时间复杂度都是O(1)。 若队列为空,pop_front 和 max_value 需要返回 1 来源:力扣(LeetCode) 链接:https://leetc 阅读全文
posted @ 2020-03-07 21:06 小路不会迷路 阅读(115) 评论(0) 推荐(0)
摘要:比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。你可以假设版本字符串非空,并且只包含数字和 . 字符。 . 字符不代表小数点,而是用于分隔数字序列。例如,2. 阅读全文
posted @ 2019-11-23 23:20 小路不会迷路 阅读(229) 评论(0) 推荐(0)
摘要:所有 DNA 都由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:“ACGAATTCCG”。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。编写一个函数来查找 DNA 分子中所有出现超过一次的 10 个字母长的序列(子串)。 示例:输入:s = "AAAAACCCCCAA 阅读全文
posted @ 2019-11-22 23:04 小路不会迷路 阅读(201) 评论(0) 推荐(0)
摘要:给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。来源:力扣( 阅读全文
posted @ 2019-11-17 11:09 小路不会迷路 阅读(173) 评论(0) 推荐(0)
摘要:给定一个字符串,逐个翻转字符串中的每个单词。 示例 1:输入: "the sky is blue"输出: "blue is sky the"示例 2:输入: " hello world! "输出: "world! hello"解释: 输入字符串可以在前面或者后面包含多余的空格,但是反转后的字符不能包 阅读全文
posted @ 2019-11-17 10:56 小路不会迷路 阅读(213) 评论(0) 推荐(0)
摘要:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。注意数组中可能存在重复的元素。示例 1:输入: [1,3,5]输出: 1示例 2:输入: [2,2,2,0,1]输出: 0说明: 阅读全文
posted @ 2019-11-17 10:53 小路不会迷路 阅读(118) 评论(0) 推荐(0)
摘要:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。你可以假设数组中不存在重复元素。示例 1:输入: [3,4,5,1,2]输出: 1示例 2:输入: [4,5,6,7,0,1,2] 阅读全文
posted @ 2019-11-17 10:52 小路不会迷路 阅读(108) 评论(0) 推荐(0)
摘要:给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。你可以假设 nums[-1] = nums[n] = -∞。示例 1:输入: nums = [1,2,3,1]输出: 2解释: 3 是 阅读全文
posted @ 2019-11-17 10:46 小路不会迷路 阅读(346) 评论(0) 推荐(0)
摘要:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,3,2]输出: 3示例 2:输入: [0,1,0,1,0,1,99]输出: 99来源:力扣(Lee 阅读全文
posted @ 2019-11-10 15:50 小路不会迷路 阅读(222) 评论(0) 推荐(0)
摘要:给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4来源:力扣(LeetCode)链接: 阅读全文
posted @ 2019-11-10 15:37 小路不会迷路 阅读(235) 评论(0) 推荐(0)
摘要:给定无向连通图中一个节点的引用,返回该图的深拷贝(克隆)。图中的每个节点都包含它的值 val(Int) 和其邻居的列表(list[Node])。示例: 输入:{"$id":"1","neighbors":[{"$id":"2","neighbors":[{"$ref":"1"},{"$id":"3" 阅读全文
posted @ 2019-11-10 15:30 小路不会迷路 阅读(318) 评论(0) 推荐(0)
摘要:给定一个二叉树struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置 阅读全文
posted @ 2019-11-08 21:01 小路不会迷路 阅读(340) 评论(0) 推荐(0)
摘要:给定一个完美二叉树,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下:struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 阅读全文
posted @ 2019-11-08 20:48 小路不会迷路 阅读(141) 评论(0) 推荐(0)
摘要:给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。//感想:感觉动态规划好像做不了,看着像是要用到hash的数据结构,又觉得要用桶排序 阅读全文
posted @ 2019-11-04 11:26 小路不会迷路 阅读(91) 评论(0) 推荐(0)
摘要://感想:对于二叉树的递归一定要搞清楚每一步的递归究竟要做什么,每一步做好,每一层都是如此,往下走的时候做,还是回溯的时候做,都要思考清楚,递归结束的条件是什么,还有返回值要不要,要的话返回什么东西。就是这三要素,不过最重要的还是行动吧,每一层究竟需要进行什么操作。 //思路:对于这道题,我一开始做 阅读全文
posted @ 2019-11-02 11:35 小路不会迷路 阅读(202) 评论(0) 推荐(0)
摘要://感想:没啥上篇写完了 //思路:对于这道题109来说,就是数组变成了链表,其他没有变,我觉得非常不解,因为我想到的依旧是找中点,用快慢指针来找, 找到以后将链表分成两半,继续递归的去找,我就觉得这不是白费力气吗?用数组不好吗?非这么麻烦,关键去中点每次都要去遍历一遍链表,毕竟是个链表,查找起来就 阅读全文
posted @ 2019-11-01 20:09 小路不会迷路 阅读(622) 评论(0) 推荐(0)
摘要://感想:有时候啊,对于一道题目,如果知道那个点在哪,就会非常简单,比如说这两题,将有序的数组转换为二叉搜索树, 有几个点: 1.二叉搜索树:对于某个节点,它的左节点小于它,它的右节点大于它,这是二叉搜索树的性质,所以呢我们又可以得出一个结论:中序遍历这个树,我们就可以发现一定是有序的数组,从小到大 阅读全文
posted @ 2019-11-01 20:03 小路不会迷路 阅读(425) 评论(1) 推荐(1)
摘要://接上上一篇博客,继续这个题目,现在数组中会有重复元素,情况将会变得十分复杂,比如说1,1,1,1,1 或者1,1,3,1再来 3,3,3,1,1,1,3,这些都是可以的,都是符合题目要求的,如果有疑问,自己想想。那么这么复杂怎么找最大点呢?我找不到,我去看了我牛客网当时的思路,当时找的是最小值, 阅读全文
posted @ 2019-10-31 11:31 小路不会迷路 阅读(165) 评论(0) 推荐(0)
摘要://感想: 1.对于这两题,我真的是做到吐,这篇博客本来是昨晚准备写的,但是对于这个第二题,我真的做到头痛,实在是太尼玛的吐血了,主要是我也是头铁,非要找到那个分界点。 2.其实之前在牛客网上做过非常类似的题目,当时就做的特别痛苦,后来做完也没总结,导致现在做又不知道思路了,不过好歹留下了代码,再次 阅读全文
posted @ 2019-10-31 11:00 小路不会迷路 阅读(203) 评论(0) 推荐(0)