03 2020 档案

搜索旋转排序数组
摘要:假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复杂度必须是 O 阅读全文

posted @ 2020-03-18 23:25 PigDragon 阅读(191) 评论(0) 推荐(0) 编辑

下一个排列
摘要:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。 1,2,3 → 1,3,2 3,2,1 → 阅读全文

posted @ 2020-03-18 22:25 PigDragon 阅读(254) 评论(0) 推荐(0) 编辑

实现 strStr()
摘要:实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = "hello", needle = "ll"输出: 阅读全文

posted @ 2020-03-14 22:10 PigDragon 阅读(143) 评论(0) 推荐(0) 编辑

移除元素
摘要:给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1:给定 nums = [3,2,2 阅读全文

posted @ 2020-03-14 22:06 PigDragon 阅读(119) 评论(0) 推荐(0) 编辑

删除排序数组中的重复项
摘要:给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。 示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数组 nums 阅读全文

posted @ 2020-03-10 23:34 PigDragon 阅读(941) 评论(0) 推荐(0) 编辑

两两交换链表中的节点
摘要:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例:给定 1->2->3->4, 你应该返回 2->1->4->3. 方法一: 递归 递归写法要观察本级递归的解决过程,形成抽象模型,因为递归本质就是不断重复相同的事情。而不是 阅读全文

posted @ 2020-03-10 21:37 PigDragon 阅读(409) 评论(0) 推荐(0) 编辑

括号生成
摘要:给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。例如,给出 n = 3,生成结果为:[ "((()))", "(()())", "(())()", "()(())", "()()()"] 方法一:深度优先遍历 我们以 n = 2 为例,画树形结构图。方法是 阅读全文

posted @ 2020-03-10 17:32 PigDragon 阅读(267) 评论(0) 推荐(0) 编辑

合并两个有序链表
摘要:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4 方法一: 思路: 递归法来合并连个有序的链表可以按照如下定义来执行: if(list1[0]->val < list2[0 阅读全文

posted @ 2020-03-09 22:32 PigDragon 阅读(296) 评论(0) 推荐(0) 编辑

有效的括号
摘要:给定一个只包括 '(',')','{','}','[',']' 的字符串,判断字符串是否有效。有效字符串需满足: 左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出: tr 阅读全文

posted @ 2020-03-09 21:50 PigDragon 阅读(161) 评论(0) 推荐(0) 编辑

删除链表的倒数第N个节点
摘要:给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5. 方法一: 希望是O(N)的算法,通过一次遍历来解决问题. 首先题目中说了,要删除的是倒数第N个节点,那我就 阅读全文

posted @ 2020-03-08 22:29 PigDragon 阅读(340) 评论(0) 推荐(0) 编辑

四数之和
摘要:给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。 示例:给定数组 nums = [1, 阅读全文

posted @ 2020-03-08 18:32 PigDragon 阅读(320) 评论(0) 推荐(0) 编辑

电话号码的字母的组合
摘要:给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"]. 方法一: 解题思路: ( 阅读全文

posted @ 2020-03-07 21:52 PigDragon 阅读(460) 评论(0) 推荐(0) 编辑

最接近的三数之和
摘要:给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。例如,给定数组 nums = [-1,2,1,-4], 和 target = 1.与 target 最接近的三个数 阅读全文

posted @ 2020-03-07 11:52 PigDragon 阅读(368) 评论(0) 推荐(0) 编辑

三数之和
摘要:给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。 示例:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ 阅读全文

posted @ 2020-03-06 16:31 PigDragon 阅读(205) 评论(0) 推荐(0) 编辑

最长公共前缀
摘要:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 ""。示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。说明:所有输入只包含小写 阅读全文

posted @ 2020-03-06 15:12 PigDragon 阅读(497) 评论(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-03-05 22:15 PigDragon 阅读(347) 评论(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-03-05 14:16 PigDragon 阅读(441) 评论(0) 推荐(0) 编辑

盛最多水的容器
摘要:给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器,且 n 的值至少为 2。图中 阅读全文

posted @ 2020-03-05 12:12 PigDragon 阅读(396) 评论(0) 推荐(1) 编辑

字符串转换整数(atoi)
摘要:请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。当我们寻找到的第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字 阅读全文

posted @ 2020-03-04 22:01 PigDragon 阅读(484) 评论(0) 推荐(0) 编辑

C语言整型溢出会怎么样
摘要:C语言整型溢出会怎样 转载 芝麻开门2015 最后发布于2016-09-19 16:43:19 阅读数 7879 收藏 展开 整型溢出有点老生常谈了,bla, bla, bla… 但似乎没有引起多少人的重视。整型溢出会有可能导致缓冲区溢出,缓冲区溢出会导致各种黑客攻击,比如最近OpenSSL的hea 阅读全文

posted @ 2020-03-04 14:29 PigDragon 阅读(925) 评论(0) 推荐(0) 编辑

Z字形变换
摘要:将一个给定字符串根据给定的行数,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 "LEETCODEISHIRING" 行数为 3 时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:"LCIRETOESII 阅读全文

posted @ 2020-03-04 14:23 PigDragon 阅读(532) 评论(0) 推荐(0) 编辑

两数相加
摘要:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + 阅读全文

posted @ 2020-03-03 22:33 PigDragon 阅读(274) 评论(0) 推荐(0) 编辑

整数反转
摘要:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321 示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据 阅读全文

posted @ 2020-03-03 20:45 PigDragon 阅读(174) 评论(0) 推荐(0) 编辑

最长回文子串
摘要:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb" 方法一: 暴力破解 首先,先给出第一个解法,Brute force的方法,虽 阅读全文

posted @ 2020-03-03 10:44 PigDragon 阅读(168) 评论(0) 推荐(0) 编辑

回文数
摘要:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。 示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: fa 阅读全文

posted @ 2020-03-02 12:43 PigDragon 阅读(511) 评论(0) 推荐(0) 编辑

计算无重复字符的最长子串
摘要:题目要求:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。 包含测测试用例: 示例 1:输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以 阅读全文

posted @ 2020-03-01 23:41 PigDragon 阅读(362) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示