
leetcode
随、心所遇
这个作者很懒,什么都没留下…
展开
-
767.重构字符串-----做题日志【leetcode】
题目:给定一个字符串S,检查是否能重新排布其中的字母,使得两相邻的字符不同。 若可行,输出任意可行的结果。若不可行,返回空字符串。 示例 1: 输入: S = “aab” 输出: “aba” 示例 2: 输入: S = “aaab” 输出: “” 注意: S 只包含小写字母并且长度在[1, 500]区间内。我的思路:一开始就想到最多的字符肯定是不能超过字符串 length/2...原创 2018-07-17 22:52:10 · 804 阅读 · 0 评论 -
784. 字母大小写全排列
题目给定一个字符串S,通过将字符串S中的每个字母转变大小写,我们可以获得一个新的字符串。返回所有可能得到的字符串集合。 示例: 输入: S = “a1b2” 输出: [“a1b2”, “a1B2”, “A1b2”, “A1B2”]输入: S = “3z4” 输出: [“3z4”, “3Z4”]输入: S = “12345” 输出: [“12345”] 注意:S 的长度...原创 2018-08-30 14:23:28 · 601 阅读 · 0 评论 -
17. 电话号码的字母组合
题目给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。 注意 1 不对应任何字母。示例: 输入:”23” 输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”]. 说明: 尽管上面的答案是按字典序排列的,但是你可以任意选择答案输出的顺序。相关话题:字...原创 2018-08-29 23:31:34 · 394 阅读 · 0 评论 -
找出旋转有序数列的中间值
题目小米编程大赛里面的练习题 描述 给出一个有序数列随机旋转之后的数列,如原有序数列为:[0,1,2,4,5,6,7] ,旋转之后为[4,5,6,7,0,1,2]。 假定数列中无重复元素,且数列长度为奇数。 求出旋转数列的中间值。如数列[4,5,6,7,0,1,2]的中间值为4。 输入4,5,6,7,0,1,2输出4输入样例 1 1,2,3 4,5,6,7,0,...原创 2018-09-01 23:15:04 · 1254 阅读 · 4 评论 -
153. 寻找旋转排序数组中的最小值
题目假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [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] 输出: 0这个是继小米那个题目做完我刚好看到了,代码...原创 2018-09-01 23:28:19 · 351 阅读 · 0 评论 -
70. 爬楼梯
题目假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?注意:给定 n 是一个正整数。示例 1:输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2:输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 +...原创 2018-09-02 19:34:22 · 141 阅读 · 0 评论 -
287. 寻找重复数
题目给定一个包含 n + 1 个整数的数组 nums,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设只有一个重复的整数,找出这个重复的数。示例 1:输入: [1,3,4,2,2] 输出: 2 示例 2:输入: [3,1,3,4,2] 输出: 3 说明:不能更改原数组(假设数组是只读的)。 只能使用额外的 O(1) 的空间。时间复...原创 2018-09-05 12:55:53 · 3106 阅读 · 0 评论 -
快慢指针-----单链表是否有环
1、判断单链表是否有环如果链表有环,遍历后就像下图这样,进入死循环。如图所示:用快慢指针判断:创建两个指针slow和fast同时指向头节点,然后slow每次向后遍历一个节点,fast每次向后遍历两个节点,如果单链表没有环的话那么slow将永远追不上fast,而如果单链表有环的话slow就会追上fast。这样就可以判断是否有环存在了。2、求找到环的入口这边有一点点的数...原创 2018-09-05 12:31:57 · 814 阅读 · 0 评论 -
455. 分发饼干
题目假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。 注意: 你可以假设胃口值为...原创 2018-09-12 12:43:18 · 204 阅读 · 0 评论 -
349. 两个数组的交集
题目给定两个数组,编写一个函数来计算它们的交集。 示例 1: 输入: nums1 = [1,2,2,1], nums2 = [2,2] 输出: [2] 示例 2: 输入: nums1 = [4,9,5], nums2 = [9,4,9,8,4] 输出: [9,4] 说明: 输出结果中的每个元素一定是唯一的。 我们可以不考虑输出结果的顺序。相关话题:排序,哈希,双指针,二分...原创 2018-09-07 17:46:19 · 179 阅读 · 0 评论 -
13. 罗马数字转整数-----【leetcode】刷题日志
题目罗马数字包含以下七种字符:I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,...原创 2018-08-23 23:25:30 · 163 阅读 · 0 评论 -
12. 整数转罗马数字-----【leetcode】做题日志
题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 I...原创 2018-08-23 20:32:43 · 187 阅读 · 0 评论 -
643. 子数组最大平均数 I -----做题日志【leetcode】
【leetcode】643. 子数组最大平均数 I给定 n 个整数,找出平均数最大且长度为 k 的连续子数组,并输出该最大平均数。 示例 1: 输入: [1,12,-5,-6,50,3], k = 4 输出: 12.75 解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75注意: 1 <= k <= n <= 3原创 2018-07-19 17:40:02 · 353 阅读 · 1 评论 -
190. 颠倒二进制位-----做题日志【leetcode】
*颠倒给定的 32 位无符号整数的二进制位。 示例: 输入: 43261596 输出: 964176192 解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。 进阶: 如果多次调用这个函数,你将如...原创 2018-07-28 14:51:10 · 348 阅读 · 0 评论 -
485. 最大连续1的个数-----做题日志【leetcode】
给定一个二进制数组, 计算其中最大连续1的个数。 示例 1: 输入: [1,1,0,1,1,1] 输出: 3 解释: 开头的两位和最后的三位都是连续1,所以最大连续1的个数是 3. 注意: 输入的数组只包含 0 和1。 输入数组的长度是正整数,且不超过 10,000。相关话题:数组;我的思路:这个是个简单题思路还是比较清晰的;对数组进行遍历,如果不是1就截断一下,存一下连续1...原创 2018-07-28 15:03:05 · 140 阅读 · 0 评论 -
621. 任务调度器-----做题日志【leetcode】
给定一个用字符数组表示的 CPU 需要执行的任务列表。其中包含使用大写的 A - Z 字母表示的26 种不同种类的任务。任务可以以任意顺序执行,并且每个任务都可以在 1 个单位时间内执行完。CPU 在任何一个单位时间内都可以执行一个任务,或者在待命状态。 然而,两个相同种类的任务之间必须有长度为 n 的冷却时间,因此至少有连续 n 个单位时间内 CPU 在执行不同的任务,或者在待命状态。 你需...原创 2018-07-28 17:24:47 · 1674 阅读 · 0 评论 -
781. 森林中的兔子-----做题日志【leetcode】
- 题目 森林中,每个兔子都有颜色。其中一些兔子(可能是全部)告诉你还有多少其他的兔子和自己有相同的颜色。我们将这些回答放在 answers 数组里。 返回森林中兔子的最少数量。 示例: 输入: answers = [1, 1, 2] 输出: 5 解释: 两只回答了 “1” 的兔子可能有相同的颜色,设为红色。 之后回答了 “2” 的兔子不会是红色,否则他们的回答会相互矛盾。 设...原创 2018-08-10 11:40:42 · 609 阅读 · 0 评论 -
628. 三个数的最大乘积-----做题日志【leetcode】
题目给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000]。 输入的数组中任意三个数的乘积不会超出32位有符号整数的范围。相关话题:数组,数学我提交的...原创 2018-08-10 11:43:40 · 232 阅读 · 0 评论 -
53. 最大子序和-----做题日志【leetcode】
题目给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。相关话题:分治算法,数组,动态规划我提交的代...原创 2018-08-10 11:49:24 · 127 阅读 · 0 评论 -
695. 岛屿的最大面积-----做题日志【leetcode】
- 题目给定一个包含了一些 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...原创 2018-08-02 17:04:14 · 381 阅读 · 0 评论 -
442. 数组中重复的数据-----做题日志【leetcode】
题目 给定一个整数数组 a,其中1 ≤ a[i] ≤ n (n为数组长度), 其中有些元素出现两次而其他元素出现一次。 找到所有出现两次的元素。 你可以不用到任何额外空间并在O(n)时间复杂度内解决这个问题吗? 示例: 输入: [4,3,2,7,8,2,3,1]输出: [2,3]相关话题:数组我的思路:这个题目限定了空间。给定数组的元素给出范围 1 ~ n 一开...原创 2018-08-22 16:50:04 · 471 阅读 · 0 评论 -
821. 字符的最短距离-----【leetcode】刷题日志
题目给定一个字符串 S 和一个字符 C。返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组。 示例 1: 输入: S = “loveleetcode”, C = ‘e’ 输出: [3, 2, 1, 0, 1, 0, 0, 1, 2, 2, 1, 0] 说明:字符串 S 的长度范围为 [1, 10000]。C 是一个单字符,且保证是字符串 S 里的字符...原创 2018-08-26 22:25:04 · 660 阅读 · 0 评论 -
14. 最长公共前缀
**题目**14. 最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。我的思路indexO...原创 2018-10-19 00:09:28 · 231 阅读 · 0 评论