![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LeetCode
你吃饼干吗
主要使用C/C++,正在学习UE4,欢迎一起学习,一起交流
展开
-
LeetCode1249:移除无效括号(米哈游20笔试题)
给你一个由 ‘(’、’)’ 和小写字母组成的字符串 s。你需要从字符串中删除最少数目的 ‘(’ 或者 ‘)’ (可以删除任意位置的括号),使得剩下的「括号字符串」有效。请返回任意一个合法字符串。有效「括号字符串」应当符合以下 任意一条 要求:空字符串或只包含小写字母的字符串可以被写作 AB(A 连接 B)的字符串,其中 A 和 B 都是有效「括号字符串」可以被写作 (A) 的字符串,其...原创 2020-03-22 20:37:52 · 400 阅读 · 0 评论 -
LeetCode20:有效的括号
给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例 1:输入: “()”输出: true示例 2:输入: “()[]{}”输出: true示例 3:输入: “(]”输出: false示例 4:输入: “([)...原创 2020-03-15 19:36:06 · 108 阅读 · 0 评论 -
LeetCode1013:将数组分成和相等的三个部分
给你一个整数数组 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:输出:[0,2...原创 2020-03-12 21:42:01 · 183 阅读 · 0 评论 -
LeetCode5:最长回文子串
给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: “babad”输出: “bab”注意: “aba” 也是一个有效答案。示例 2:输入: “cbbd”输出: “bb”解题思路:①暴力方法:选出所有子字符串可能得开始和结束位置,并检验它是不是回文,时间复杂度为O(N),当然这不是面试官想要的;②leetcode上对于这道题有...原创 2020-03-11 15:56:14 · 89 阅读 · 0 评论 -
LeetCode560:和为K的子数组
给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。解题思路:①暴力方法,就是双层循环,从...原创 2020-03-07 16:11:55 · 144 阅读 · 0 评论 -
LeetCode面试题57:和为s的连续正数序列
输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3,4,5],[4,5,6],[7,8]]解题思路:可以从数字开始遍历1,2,3,4…,暴力解法以...原创 2020-03-07 15:55:36 · 108 阅读 · 0 评论 -
LeetCode1:两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解题思路:我们需要两...原创 2020-03-07 15:46:23 · 75 阅读 · 0 评论 -
LeetCode680:验证回文字符串II
给定一个非空字符串 s,最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: “aba”输出: True示例 2:输入: “abca”输出: True解释: 你可以删除c字符。解题思路:使用的是双指针,i=0,j=n-1,如果字符串是回文,那么s[i]==s[j],题目中允许删除一个字符;如果发现s[i]!=s[j]时,可以选择删除s[i]或者s[j],那么剩下的字符...原创 2020-03-07 15:42:19 · 125 阅读 · 0 评论 -
LeetCode83:删除排序链表中的重复元素
给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次.示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解题思路:删除排序链表重复的元素,只保证每个元素只出现一次,这题还有一个变形是重复的直接删除,不保留;考虑到可能要删除头节点,先申请一个头,连接到链表上...原创 2020-03-07 15:34:19 · 123 阅读 · 0 评论 -
LeetCode26:删除排序数组中的重复项
删除排序数组中的重复项给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元...原创 2020-03-07 15:25:20 · 92 阅读 · 0 评论 -
LeetCode234:回文链表
回文链表请判断一个链表是否为回文链表。示例 1:输入: 1->2输出: false示例 2:输入: 1->2->2->1输出: true解题思路:判断是否回文,可以把当前链表反转后,得到一条新的链表与原链表进行值的比较。可以使用反转链表,也可以利用栈的性质,先进后出;示例:1->2->2->1,放入栈中后的出栈顺序正好是反转链表的顺序相当...原创 2020-03-07 15:18:03 · 66 阅读 · 0 评论 -
LeetCode53:最大子序和
给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。解题思路:构建一个子数组和的数组dp,dp[0]=0;当前i的i的最大子数组和=dp[i-1]+nums[i]与nums[i]比较因为nums[i]可...原创 2020-03-07 15:12:23 · 97 阅读 · 0 评论 -
LeetCode21(easy):合并两个有序链表
题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:首先,知道链表的有序的,head1和head2作为两个链表指针,不断向后移动;我们需要一个新节点head,当前head的节点的值head1与...原创 2020-02-26 19:56:53 · 130 阅读 · 0 评论