
刷题整理
力扣,其他刷题整理
聪聪菜的睡不着
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
【链表】初级常见链表题型
一、剑指 Offer 24 反转链表(一)自己定义伪节点的反转(二)不带头结点的反转二、剑指 Offer 35 复杂链表的复制(一)哈希表(二)原地复制三、剑指 Offer 18 删除链表的节点(一)设置伪头节点的删除(二)不带头结点的删除四、剑指 Offer 06 从尾到头打印链表五、剑指 Offer 25 合并两个排序的链表六、剑指 Offer 22 链表中倒数第k个节点七、剑指 Offer 52 两个链表的第一个公共节点八、删除重复链表九、判断链表是否有环九、找到环的入口原创 2020-08-30 10:51:46 · 751 阅读 · 0 评论 -
整数转换为字符串(itoa)
用数组保存[0~9,a~z],每次从里面取余数,可以解决十六进制的问题原创 2020-07-06 16:13:40 · 6353 阅读 · 1 评论 -
进阶版字符串转化为整数(atoi)
处理情况太多时,记得封装为函数处理。原创 2020-07-06 15:35:15 · 342 阅读 · 0 评论 -
【力扣】136. 只出现一次的数字
考察知识:位运算 ⊕原创 2020-05-26 19:29:27 · 238 阅读 · 0 评论 -
全排列
文章目录递归分治解决回溯法解决题目: 给定一个没有重复数字的序列,返回其所有可能的全排列。示例 :输入: [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]递归分治解决从下标为0的元素开始,确定排列数组中的第一个元素,序列中的每个元素都要参与一次(for循环),后面的元素进行逐个交换位置,不断得到...原创 2020-04-13 23:58:39 · 178 阅读 · 0 评论 -
整数反转
题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。示例:示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21思想: 它...原创 2020-04-08 19:21:35 · 183 阅读 · 0 评论 -
最长上升序列
题目: 给定一个无序的整数数组,找到其中最长上升子序列的长度。示例:输入: [10,9,2,5,3,7,101,18]输出: 4解释: 最长的上升子序列是 [2,3,7,101],它的长度是 4。思路1: 动态规划求最长上升子序列,是一个找最优解的题目,很容易就可以证明存在最优子结构,所以可以用动态规划。我们定义数组dp[i]表示第i位元素的最长子序列,dp[i]的取值为:在i...原创 2020-04-01 22:55:28 · 241 阅读 · 0 评论 -
最长回文子串
题目: 给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例:输入:“abccccdd”输出:7解释:我们可以构造的最长的回文串是"dccaccd",它的长度是 7。思想1: 正向思维,就是统计有多少个偶数字母加上1个奇数字母。这个题目和拼...原创 2020-03-31 22:51:48 · 211 阅读 · 0 评论 -
矩形重叠
**题目:**矩形以列表 [x1, y1, x2, y2] 的形式表示,其中 (x1, y1) 为左下角的坐标,(x2, y2) 是右上角的坐标。如果相交的面积为正,则称两矩形重叠。需要明确的是,只在角或边接触的两个矩形不构成重叠。给出两个矩形,判断它们是否重叠并返回结果。示例:示例 1:输入:rec1 = [0,0,2,2], rec2 = [1,1,3,3]输出:true示例 2...原创 2020-03-31 22:30:05 · 271 阅读 · 0 评论 -
拼写单词
题目:给你一份『词汇表』(字符串数组) words 和一张『字母表』(字符串) chars。假如你可以用 chars 中的『字母』(字符)拼写出 words 中的某个『单词』(字符串),那么我们就认为你掌握了这个单词。注意:每次拼写时,chars 中的每个字母都只能用一次。返回词汇表 words 中你掌握的所有单词的长度之和。示例示例 1:输入:words = [“cat”,“bt”,“...原创 2020-03-28 23:50:13 · 365 阅读 · 0 评论 -
压缩字符串
题目:字符串压缩。利用字符重复出现的次数,编写一种方法,实现基本的字符串压缩功能。比如,字符串aabcccccaaa会变为a2b1c5a3。若“压缩”后的字符串没有变短,则返回原先的字符串。你可以假设字符串中只包含大小写英文字母(a至z)。示例:示例1:输入:“aabcccccaaa”输出:“a2b1c5a3”示例2:输入:“abbccd”输出:“abbccd”解释:“a...原创 2020-03-28 23:20:33 · 509 阅读 · 0 评论 -
岛屿的最大面积
题目: 给定一个包含了一些 0 和 1的非空二维数组 grid , 一个 岛屿 是由四个方向 (水平或垂直) 的 1 (代表土地) 构成的组合。你可以假设二维矩阵的四个边缘都被水包围着。找到给定的二维数组中最大的岛屿面积。(如果没有岛屿,则返回面积为0。)示例:示例1:[[0,0,1,0,0,0,0,1,0,0,0,0,0],[0,0,0,0,0,0,0,1,1,1,0,0,0],[0...原创 2020-03-27 22:46:11 · 144 阅读 · 0 评论 -
多数元素
题目: 给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例:示例 1:输入: [3,2,3]输出: 3示例 2:输入: [2,2,1,1,1,2,2]输出: 2思路1: 排序找中间的值。通过上图的分析,我们可以发现不管是数组元素个数是奇数还是偶数,次数大于...原创 2020-03-25 23:39:14 · 156 阅读 · 0 评论 -
字符串的最大公因子
题目:对于字符串 S 和 T,只有在 S = T + … + T(T 与自身连接 1 次或多次)时,我们才认定 “T 能除尽 S”。返回最长字符串 X,要求满足 X 能除尽 str1 且 X 能除尽 str2。示例:示例 1:输入:str1 = “ABCABC”, str2 = “ABC”输出:“ABC”示例 2:输入:str1 = “ABABAB”, str2 = “ABAB...原创 2020-03-23 17:39:37 · 301 阅读 · 0 评论 -
将数组分为和相等的三部分
题目:给你一个整数数组 A,只有可以将其划分为三个和相等的非空部分时才返回 true,否则返回 false。形式上,如果可以找出索引 i+1 < j 且满足 (A[0] + A[1] + … + A[i] == A[i+1] + A[i+2] + … + A[j-1] == A[j] + A[j-1] + … + A[A.length - 1]) 就可以将数组三等分。示例:示例 1:...原创 2020-03-23 14:23:01 · 545 阅读 · 0 评论 -
二叉树的直径
题目: 给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。示例 :给定二叉树返回 3, 它的长度是路径 [4,2,1,3] 或者 [5,2,1,3]。注意:两结点之间的路径长度是以它们之间边的数目表示。思想:我们不难发现这个问题的本质就是求每个节点的左孩子深度+右孩子深度,最大的就是直径,我们下图来说明注意:...原创 2020-03-23 11:43:53 · 215 阅读 · 0 评论 -
买卖股票的最佳时机
题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。注意你不能在买入股票前卖出股票。示例示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。注...原创 2020-03-23 08:46:49 · 163 阅读 · 0 评论 -
零钱的兑换
题目: 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。示例:示例 1:输入: coins = [1, 2, 5], amount = 11输出: 3解释: 11 = 5 + 5 + 1示例 2:输入: coins = [2], amount = 3输出: -1...原创 2020-03-21 15:48:50 · 150 阅读 · 0 评论 -
队列的最大值
题目: 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1。示例:示例 1:输入: [“MaxQueue”,“push_back”,“push_back”,“max_value”,“pop_front”,...原创 2020-03-21 11:42:10 · 559 阅读 · 0 评论 -
和为S的整数序列
【题目:】 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。【示例1:】输入:target = 9输出:[[2,3,4],[4,5]]【示例2:】输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]【解题思路:】 暴力法从题目我们...原创 2020-03-21 10:42:10 · 212 阅读 · 0 评论 -
分糖果
**【题目:】**排排坐,分糖果。我们买了一些糖果 candies,打算把它们分给排好队的 n = num_people 个小朋友。给第一个小朋友 1 颗糖果,第二个小朋友 2 颗,依此类推,直到给最后一个小朋友 n 颗糖果。然后,我们再回到队伍的起点,给第一个小朋友 n + 1 颗糖果,第二个小朋友 n + 2 颗,依此类推,直到给最后一个小朋友 2 * n 颗糖果。重复上述过程(每次都比上一...原创 2020-03-21 09:57:16 · 1313 阅读 · 0 评论