06 2020 档案

摘要:给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3]输出:[ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], []] 回溯法,对于每个元素,先直接往下递归, 阅读全文
posted @ 2020-06-30 21:51 __rookie 阅读(115) 评论(0) 推荐(0) 编辑
摘要:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意:不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1,0]输出: [ 阅读全文
posted @ 2020-06-30 21:26 __rookie 阅读(95) 评论(0) 推荐(0) 编辑
摘要:假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2输出: 2解释: 有两种方法可以爬到楼顶。1. 1 阶 + 1 阶2. 2 阶示例 2: 输入: 3输出: 3解释: 有三种方 阅读全文
posted @ 2020-06-30 17:05 __rookie 阅读(84) 评论(0) 推荐(0) 编辑
摘要:实现 int sqrt(int x) 函数。 计算并返回 x 的平方根,其中 x 是非负整数。 由于返回类型是整数,结果只保留整数的部分,小数部分将被舍去。 示例 1: 输入: 4输出: 2示例 2: 输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于返回类型是整数,小数部分将 阅读全文
posted @ 2020-06-30 16:54 __rookie 阅读(131) 评论(0) 推荐(0) 编辑
摘要:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。 你可以假设除了整数 0 之外,这个整数不会以零开头。 示例 1: 输入: [1,2,3]输出: [1,2,4]解释: 输入数组表示数字 123。示例 2: 输入: [4, 阅读全文
posted @ 2020-06-30 16:44 __rookie 阅读(152) 评论(0) 推荐(0) 编辑
摘要:一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 示例 1: 输入: m = 3, n = 2输出: 3解释:从左上角开始,总共有 阅读全文
posted @ 2020-06-30 16:02 __rookie 阅读(82) 评论(0) 推荐(0) 编辑
摘要:给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: [[1,3],[2,6],[8,10],[15,18]]输出: [[1,6],[8,10],[15,18]]解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].示例 2: 输入: [[1,4],[4,5]]输出: 阅读全文
posted @ 2020-06-29 23:37 __rookie 阅读(102) 评论(0) 推荐(0) 编辑
摘要:给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置 阅读全文
posted @ 2020-06-29 23:21 __rookie 阅读(80) 评论(0) 推荐(0) 编辑
摘要:给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1: 输入:[ [ 1, 2, 3 ], [ 4, 5, 6 ], [ 7, 8, 9 ]]输出: [1,2,3,6,9,8,7,4,5]示例 2: 输入:[ [1, 2, 3, 4], 阅读全文
posted @ 2020-06-29 23:05 __rookie 阅读(134) 评论(0) 推荐(0) 编辑
摘要:给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为 阅读全文
posted @ 2020-06-29 21:28 __rookie 阅读(232) 评论(0) 推荐(0) 编辑
摘要:实现 pow(x, n) ,即计算 x 的 n 次幂函数。 示例 1: 输入: 2.00000, 10输出: 1024.00000示例 2: 输入: 2.10000, 3输出: 9.26100示例 3: 输入: 2.00000, -2输出: 0.25000解释: 2-2 = 1/22 = 1/4 = 阅读全文
posted @ 2020-06-29 21:01 __rookie 阅读(90) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"]输出:[ ["ate","eat","tea"], ["nat","tan"], ["bat"]]说明: 所有输 阅读全文
posted @ 2020-06-29 20:18 __rookie 阅读(121) 评论(0) 推荐(0) 编辑
摘要:给定一个 没有重复 数字的序列,返回其所有可能的全排列。 示例: 输入: [1,2,3]输出:[ [1,2,3], [1,3,2], [2,1,3], [2,3,1], [3,1,2], [3,2,1]] 采用回溯法,最简单的是回溯的同时用一个数组标记哪些数已经用过,但是这样需要额外的空间。 可以直 阅读全文
posted @ 2020-06-28 16:41 __rookie 阅读(116) 评论(0) 推荐(0) 编辑
摘要:给定一个正整数 n(1 ≤ n ≤ 30),输出外观数列的第 n 项。 注意:整数序列中的每一项将表示为一个字符串。 「外观数列」是一个整数序列,从数字 1 开始,序列中的每一项都是对前一项的描述。前五项如下: 1. 12. 113. 214. 12115. 111221第一项是数字 1 描述前一项 阅读全文
posted @ 2020-06-28 16:21 __rookie 阅读(85) 评论(0) 推荐(0) 编辑
摘要:判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。 数字 1-9 在每一行只能出现一次。数字 1-9 在每一列只能出现一次。数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。 上图是一个部分填充的有效的数独。 数独部分空格内已填入了数字,空白格用 ' 阅读全文
posted @ 2020-06-28 15:55 __rookie 阅读(243) 评论(0) 推荐(0) 编辑
摘要:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5,7,7,8,8,10], target = 阅读全文
posted @ 2020-06-28 14:35 __rookie 阅读(150) 评论(0) 推荐(0) 编辑
摘要:假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O 阅读全文
posted @ 2020-06-28 13:58 __rookie 阅读(113) 评论(0) 推荐(0) 编辑
摘要:给定两个整数,被除数 dividend 和除数 divisor。将两数相除,要求不使用乘法、除法和 mod 运算符。 返回被除数 dividend 除以除数 divisor 得到的商。 整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 trun 阅读全文
posted @ 2020-06-28 11:44 __rookie 阅读(170) 评论(0) 推荐(0) 编辑
摘要:实现 strStr() 函数。 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。 示例 1: 输入: haystack = "hello", needle = "ll"输 阅读全文
posted @ 2020-06-27 23:41 __rookie 阅读(133) 评论(0) 推荐(0) 编辑
摘要:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nu 阅读全文
posted @ 2020-06-27 16:49 __rookie 阅读(109) 评论(0) 推荐(0) 编辑
摘要:数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例: 输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ] 采用回溯法,不断递归,在左括号数量不超过n时压入左括号,在右括号数量 阅读全文
posted @ 2020-06-27 12:23 __rookie 阅读(132) 评论(0) 推荐(0) 编辑
摘要:将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例: 输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 很简单的循环判断,但是申请了一个dummyhead的空间。 1 /** 2 * Definition for sin 阅读全文
posted @ 2020-06-27 11:00 __rookie 阅读(122) 评论(0) 推荐(0) 编辑
摘要:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。 示例 1: 输入: "()"输出: true示例 2: 输入: "()[]{}"输出: 阅读全文
posted @ 2020-06-26 20:43 __rookie 阅读(110) 评论(0) 推荐(0) 编辑
摘要:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 给定一个链表: 1->2->3->4->5, 和 n = 2. 当删除了倒数第二个节点后,链表变为 1->2->3->5.说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 第一个想到的是回溯法,回溯到 阅读全文
posted @ 2020-06-26 10:06 __rookie 阅读(139) 评论(0) 推荐(0) 编辑
摘要:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例: 输入:"23" 输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 这题主要采用回溯法 阅读全文
posted @ 2020-06-25 19:19 __rookie 阅读(133) 评论(0) 推荐(0) 编辑
摘要:给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例: 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组 阅读全文
posted @ 2020-06-25 18:19 __rookie 阅读(111) 评论(0) 推荐(0) 编辑
摘要:编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 ""。 示例 1: 输入: ["flower","flow","flight"]输出: "fl"示例 2: 输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明: 所有输入 阅读全文
posted @ 2020-06-25 11:07 __rookie 阅读(155) 评论(0) 推荐(0) 编辑
摘要:罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 阅读全文
posted @ 2020-06-24 23:35 __rookie 阅读(123) 评论(0) 推荐(0) 编辑
摘要:给你 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的值至少为 2。 阅读全文
posted @ 2020-06-23 20:21 __rookie 阅读(103) 评论(0) 推荐(0) 编辑
摘要:请你来实现一个 atoi 函数,使其能将字符串转换成整数。 首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下: 如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接 阅读全文
posted @ 2020-06-23 18:44 __rookie 阅读(158) 评论(0) 推荐(0) 编辑
摘要:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例 1: 输入: 123输出: 321 示例 2: 输入: -123输出: -321示例 3: 输入: 120输出: 21注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1 阅读全文
posted @ 2020-06-23 17:16 __rookie 阅读(114) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。 示例 1: 输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2: 输入: "cbbd"输出: "bb" 这题有4种解法,暴力解法,中心扩散法,动态规划,manacher算法。 阅读全文
posted @ 2020-06-22 09:06 __rookie 阅读(154) 评论(0) 推荐(0) 编辑
摘要:https://www.cnblogs.com/Jawen/p/10821702.html 阅读全文
posted @ 2020-06-21 21:59 __rookie 阅读(1242) 评论(0) 推荐(0) 编辑
摘要:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 示例 1: 输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2: 输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3: 阅读全文
posted @ 2020-06-21 21:56 __rookie 阅读(145) 评论(0) 推荐(0) 编辑
摘要:new和malloc的10点区别 https://www.cnblogs.com/ywliao/articles/8116622.html。 阅读全文
posted @ 2020-06-20 09:51 __rookie 阅读(58) 评论(0) 推荐(0) 编辑
摘要:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。 如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。 您可以假设除了数字 0 之外,这两个数都不会以 0 开头。 示例: 输入:(2 -> 4 -> 阅读全文
posted @ 2020-06-20 09:47 __rookie 阅读(67) 评论(0) 推荐(0) 编辑
摘要:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] 阅读全文
posted @ 2020-06-19 16:32 __rookie 阅读(53) 评论(0) 推荐(0) 编辑