leetcode算法题
红烧咸鱼丶
一个没有梦想的废物咸鱼
展开
-
合并两个有序链表
题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解析:迭代法解决:遍历l1和l2若当前指向l1的指针的数小于当前指向l2指针的数,将小的l1指针的数取出,l1向后移动l2不动l2若小于l1也是...原创 2019-12-03 14:27:50 · 145 阅读 · 0 评论 -
有效的括号
题目给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:(1)左括号必须用相同类型的右括号闭合。(2)左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。...原创 2019-12-02 11:34:15 · 1471 阅读 · 0 评论 -
最长公共前缀
题目编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入: [“flower”,“flow”,“flight”]输出: “fl”示例 2:输入: [“dog”,“racecar”,“car”]输出: “”解释: 输入不存在公共前缀。说明:所有输入只包含小写字母 a-z 。解析我们使用了两种方法进行解析,但是都是水...原创 2019-11-28 16:40:17 · 129 阅读 · 2 评论 -
颜色分类
题目给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。注意不能使用代码库中的排序函数来解决这道题示例输入: [2,0,2,1,1,0]输出: [0,0,1,1,2,2]进阶一个直观的解决方案是使用计数排序的两趟扫描算法。...原创 2019-11-26 20:37:25 · 433 阅读 · 0 评论 -
跳跃游戏
题目给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。注意:这里的到达最后一个位置表示的是只要经过就行,不一定非要刚好到达最后一个下标示例1输入: [2,3,1,1,4]输出: true解释: 我们可以先跳 1 步,从位置 0 到达 位置 1, 然后再从位置 1 跳 3 步到达最后一个位置。示例...原创 2019-11-25 21:23:06 · 105 阅读 · 0 评论 -
合并两个有序数组
题目给定两个有序整数组nums1和nums2,将nums2合并到nums1中,是的num1成为一个有序数组。说明初始化nums1和nums2的元素数量分别是m和n你可以假设nums1有足够的空间,空间大小大于或者等于m+n,以次来保存nums2中的元素示例输入:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,5,6], n = 3...原创 2019-11-23 21:50:29 · 111 阅读 · 0 评论 -
N皇后问题
题目n皇后问题研究的是如何将n个皇后放置在n*n的棋盘上。并且使皇后彼此之间不能相互攻击。皇后之间不能在同一行,同一列,正斜,反斜上同时存在上图为 8 皇后问题的一种解法。给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 ‘Q’ 和 ‘.’ 分别代表了皇后和空位。示例:输入: 4输出: [[".Q…...原创 2019-11-23 12:05:16 · 257 阅读 · 0 评论 -
最大子序之和
题目:给定一个整数组nums,找到一个具有最大和的连续子数组,子数组最少应该包含一个元素,返回其最大的和示例输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。要求时间复杂度O(n)思路:这个我们用动态规划的思路来解决,首先我们遍历数组如果sum > 0,则说明sum对...原创 2019-11-21 22:50:04 · 122 阅读 · 0 评论 -
罗马数字转整数
题目罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符数值I1V5X10L50C100D500M1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况下,罗马数字...原创 2019-11-20 11:51:25 · 132 阅读 · 0 评论 -
整数反转
题目给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−2^31, 2^31 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。思路...原创 2019-11-19 15:47:24 · 172 阅读 · 0 评论 -
无重复字符的最长子串
题目给定一个字符串,请你找出其中不含有重复字符的最长子串的长度实例1输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “w...原创 2019-11-19 14:40:36 · 307 阅读 · 0 评论 -
回文数
题目判断一个整数是否是回文数。回文数是指正序(从左到右)和倒序(从右到左)读都是一样的整数示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个...原创 2019-11-19 10:03:44 · 225 阅读 · 0 评论 -
两数相加
题目给出两个非空的链表用来表示两个非负整数。其中,他们各自的位数是按照逆序的方式进行存储的,并且他们的每个节点只能存储一位数字。如果,我们将这两个数字加起来,则会返回一个新的链表来表示他们的和。可以假设除了数字0以外,这两个数都不会以0开头示例输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:3...原创 2019-11-15 23:11:35 · 151 阅读 · 0 评论 -
两数之和
题目给定一个整数组nums和一个目标值target,请你在该数组中找出和为目标值的两个整数,并且返回他们的数组的下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例给定nums = [2, 7, 11, 15],target = 9因为nums[0] + nums[1] = 2 + 7 = 9所以返回[0, 1]解析(参考了leetco...原创 2019-11-14 16:01:19 · 62 阅读 · 0 评论 -
各位相加
题目描述:给定一个非负整数num,反复将各个位上的数字相加,直到结果是一位数为止,返回示例输入:38输出:2解释:各位相加的过程是:3 + 8 = 11, 1 +1 =2。由于2是一位数,所以返回2要求不使用循环或者递归,并且在O(1)时间复杂度内解决这个问题解析假设有一个三位数(其实几位数都行)n1 = 100 * a + 10 * b + c...原创 2019-11-14 11:41:43 · 213 阅读 · 0 评论