leetcode
每天记录一道leetcode题目
CV_七少
视觉爱好者,请关注我的博客:CV七少 公众号:CV伴读社
展开
-
LeetCode_Everyday:034 Find First and Last Position of Element in Sorted Array
LeetCode_Everyday:034 Find First and Last Position of Element in Sorted Array题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。你的算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。示例:示例 1:输入: nums原创 2020-07-20 09:11:37 · 139 阅读 · 0 评论 -
LeetCode_Everyday:033 Search in Rotated Sorted Array
LeetCode_Everyday:033 Search in Rotated Sorted Array题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。你可以假设数组中不存在重复的元素。你的算法时间复杂度必须是 O(log原创 2020-07-17 09:29:34 · 97 阅读 · 0 评论 -
LeetCode_Everyday:032 Longest Valid Parentheses
LeetCode_Everyday:032 Longest Valid Parentheses题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长的包含有效括号的子串的长度。示例:示例 1:输入: "(()"输出: 2解释: 最长有效括号子串为 "()"示例 2:输入: ")()())"输出: 4解释: 最长有效括号子串为 "()()"代码方法一:暴力解法 题解超出时间限原创 2020-07-16 08:49:48 · 114 阅读 · 0 评论 -
LeetCode_Everyday:031 Next Permutaion
LeetCode_Everyday:031 Next Permutaion题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。必须原地修改,只允许使用额外常数空间。示例:示例 1:以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,1 → 1,2,31,原创 2020-07-15 08:15:11 · 106 阅读 · 0 评论 -
LeetCode_Everyday:030 Substring with Concatenation of All Words
LeetCode_Everyday:030 Substring with Concatenation of All Words题目:示例:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个字符串s和一些长度相同的单词 words。找出s中恰好可以由words中所有单词串联形成的子串的起始位置。注意子串要与words中的单词完全匹配,中间不能有其他字符,但不需要考虑words中单词串联的顺序。示例:示例:示例 1:输入:s = "barfooth原创 2020-07-14 08:35:21 · 111 阅读 · 0 评论 -
LeetCode_Everyday:029 Divide Two Integers
LeetCode_Everyday:029 Divide Two Integers题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和mod运算符。返回被除数dividend除以除数divisor得到的商。整数除法的结果应当截去(truncate)其小数部分,例如:truncate(8.345) = 8 以及 truncate(-2.7335) = -2示例:原创 2020-07-13 10:53:03 · 116 阅读 · 0 评论 -
LeetCode_Everyday:028 Implement strStr
@[TOC](LeetCode_Everyday:028 Implement strStr())LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:实现 strStr() 函数。给定一个haystack字符串和一个needle字符串,在haystack字符串中找出needle字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。如果needle是空字符串,返回 0示例:示例 1:输入: haystack = "hello", needle = "ll"输出原创 2020-07-10 08:37:31 · 118 阅读 · 0 评论 -
LeetCode_Everyday:027 Remove Element
LeetCode_Everyday:027 Remove Element题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例:示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回原创 2020-07-09 10:35:29 · 139 阅读 · 0 评论 -
LeetCode_Everyday:026 Remove Duplicates from Sorted Array
LeetCode_Everyday:026 Remove Duplicates from Sorted Array题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例:示例 1:给定数组 nums = [1,1,2], 函数应该返回新的长度 2, 并且原数原创 2020-07-08 14:57:14 · 136 阅读 · 0 评论 -
LeetCode_Everyday:025 Reverse Nodes in k-Group
LeetCode_Everyday:025 Reverse Nodes in k-Group题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。说明:你的算法只能使用常数的额外空间。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。示例:示例 1:给你原创 2020-07-07 08:30:01 · 142 阅读 · 0 评论 -
LeetCode_Everyday:024 Swap Nodes in Pairs
LeetCode_Everyday:024 Swap Nodes in Pairs题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换示例:示例 1:给定 1->2->3->4, 你应该返回 2->1->4->3.代码方法一: 迭代 题解执行用时:40 ms, 在所有 Python3原创 2020-07-06 08:53:44 · 169 阅读 · 0 评论 -
LeetCode_Everyday:023 Merge k Sorted Lists
LeetCode_Everyday:023 Merge k Sorted Lists题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:合并k个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:示例 1:输入:[ 1->4->5, 1->3->4, 2->6]输出: 1->1->2->3->4->4->5->6代码方法一: 优先级队列原创 2020-07-03 08:39:50 · 123 阅读 · 0 评论 -
LeetCode_Everyday:022 Generate Parentheses
LeetCode_Everyday:022 Generate Parantheses题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:数字n代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且有效的括号组合。示例:示例 1:输入:n = 3输出:[ "((()))", "(()())", "(())()", "()(())", "()()()" ]原创 2020-07-02 10:37:01 · 167 阅读 · 0 评论 -
LeetCode_Everyday:021 Merge Two Sorted Lists
LeetCode_Everyday:021 Merge Two Sorted Lists题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:示例 1:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4代码方法一: 递归 题解执行用时:56 ms, 在所有 Py原创 2020-07-01 13:16:55 · 159 阅读 · 0 评论 -
LeetCode_Everyday:020 Valid Parentheses
LeetCode_Everyday:020 alid Parentheses题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个只包括'(',')','{','}','[',']'的字符串,判断字符串是否有效。有效字符串需满足:1. 左括号必须用相同类型的右括号闭合。2. 左括号必须以正确的顺序闭合。注意空字符串可被认为是有效字符串。示例:示例 1:输入: "()"输出: true示例 2:输入: "()[]{}"输出:原创 2020-06-30 08:32:22 · 156 阅读 · 0 评论 -
LeetCode_Everyday:019 Remove Nth Node From End of List
LeetCode_Everyday:019 Remove Nth Node From End of List题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个链表,删除链表的倒数第n个节点,并且返回链表的头结点。进阶:你能尝试使用一趟扫描实现吗?示例:示例 1:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.代码方原创 2020-06-29 09:18:13 · 126 阅读 · 0 评论 -
LeetCode_Everyday:018 4Sum
LeetCode_Everyday:018 4Sum题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个包含n个整数的数组nums和一个目标值target,判断nums中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组示例:示例 1:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。原创 2020-06-26 14:54:38 · 170 阅读 · 0 评论 -
LeetCode_Everyday:017 Letter Combinations of a Phone Number
LeetCode_Everyday:017 Letter Combinations of a Phone Number题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个仅包含数字2-9的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:示例 1:输入:"23"输出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"原创 2020-06-25 13:28:37 · 170 阅读 · 0 评论 -
LeetCode_Everyday:016 3Sum Closest
LeetCode_Everyday:016 3Sum Closest题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个包括 n 个整数的数组nums和 一个目标值target。找出nums中的三个整数,使得它们的和与target最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:示例 1:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 +原创 2020-06-22 19:16:05 · 145 阅读 · 0 评论 -
LeetCode_Everyday:015 3Sum
LeetCode_Everyday:015 3Sum题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给你一个包含 n 个整数的数组nums,判断nums中是否存在三个元素a,b,c,使得a + b + c = 0?请你找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。示例:示例 1:给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1,原创 2020-06-19 18:51:51 · 140 阅读 · 0 评论 -
LeetCode_Everyday:014 Longest Common Prefix
LeetCode_Everyday:014 Longest Common Prefix题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。示例:示例 1:输入: ["flower","flow","flight"]输出: "fl"示例 2:输入: ["dog","racecar","car"]输出: ""解释: 输入不存在公共前缀。代码方法一:原创 2020-06-18 20:26:28 · 223 阅读 · 0 评论 -
LeetCode_Everyday:013 Roman to Integer
LeetCode_Everyday:013 Roman to Integer题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:罗马数字包含以下七种字符: I,V,X,L,C,D, M字符 数值I 1V 5X 10L 50C 100D 500M 1000原创 2020-06-17 21:14:42 · 157 阅读 · 0 评论 -
LeetCode_Everyday:012 Integer to Roman
LeetCode_Everyday:012 Integer to Roman题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:罗马数字包含以下七种字符: I,V,X,L,C,D, M字符 数值I 1V 5X 10L 50C 100D 500M 1000原创 2020-06-16 20:50:31 · 764 阅读 · 0 评论 -
LeetCode_Everyday:011 Container With Most Water
LeetCode_Everyday:011 Container With Most Water题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给你 n 个非负整数 a1,a2,..,ana_1,a_2, .., a_na1,a2,..,an,每个数代表坐标中的一个点 (i,ai)(i, a_i)(i,ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i,ai)(i, a_i)(i,ai) 和 (i,0)(i, 0)(i,0)原创 2020-06-15 21:06:29 · 170 阅读 · 0 评论 -
LeetCode_Everyday:010 Regular Expression Matching
LeetCode_Everyday:010 Regular Expression Matching题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给你一个字符串 s 和一个字符规律 p,请你来实现一个支持 '.' 和 '*' 的正则表达式匹配。'.' 匹配任意单个字符'*' 匹配零个或多个前面的那一个元素所谓匹配,是要涵盖 整个 字符串 s的,而不是部分字符串。说明s 可能为空,且只包含从 a-z 的小写字母。p 可能为空,且只包含从 a原创 2020-06-12 18:13:06 · 169 阅读 · 0 评论 -
LeetCode_Everyday:009 Palindrome Number
LeetCode_Everyday:009 Palindrome Number题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例:示例1输入: 121输出: true示例2输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例3输入: 10输出: false解原创 2020-06-11 14:10:29 · 177 阅读 · 0 评论 -
LeetCode_Everyday:008 String to Integer (atoi)
LeetCode_Everyday:008 String to Integer (atoi)题目:示例:代码补充参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目: 请你来实现一个 atoi 函数,使其能将字符串转换成整数。首先,该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。接下来的转化规则如下:如果第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字字符组合起来,形成一个有符号整数。假如第一个非空字符是数字,则直接将其与原创 2020-06-10 11:04:40 · 214 阅读 · 0 评论 -
LeetCode_Everyday:007 Reverse Integer
LeetCode_Everyday:007 Reverse Integer题目:示例:代码参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231−1][-2^{31},2^{31}-1][−231,231−1]。请根据这个假设,如果反转后整数溢出那么就返回 0。示例:示例1输入: 123输出: 321原创 2020-06-08 21:57:59 · 126 阅读 · 0 评论 -
LeetCode_Everyday:006 ZigZag Conversion
LeetCode_Everyday:006 ZigZag Conversion题目:示例:代码图解:参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:将一个给定字符串根据给定的行数,以从上往下、从左往右进行Z字形排列。比如输入字符串为"LEETCODEEISHIRING"行数为3时,排列如下:L C I RE T O E S I I GE D H N之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如原创 2020-06-07 23:21:17 · 180 阅读 · 0 评论 -
LeetCode_Everyday:005 Longest Palindromic Substring
LeetCode_Everyday:005 Longest Palindromic Substring题目:示例:代码测试参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例:示例 1输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2输入: "cbbd"输出: "bb"代码方法一:暴力搜索法思路核心:根据回文子串的原创 2020-06-07 16:37:52 · 177 阅读 · 0 评论 -
LeetCode_Everyday:004 Median of Two Sorted Arrays
LeetCode_Everyday:003 Longest Substring Without Repeating Characters题目:示例:代码图解:参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出这两个正序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例:示例 1nums1 = [1原创 2020-06-06 12:14:02 · 129 阅读 · 0 评论 -
LeetCode_Everyday:003 Longest Substring Without Repeating Characters
LeetCode_Everyday:003 Longest Substring Without Repeating Characters题目:示例:代码图解:参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例:示例 1输入: "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3示例 2输入: "bbbbb"输出: 1解释: 因为无重复字符的原创 2020-06-05 12:15:36 · 113 阅读 · 0 评论 -
LeetCode_Everyday:002 Add Two Numbers
LeetCode_Everyday:002 Add Two Numbers题目:示例:代码图解:参考此外LeetCode Everyday:坚持价值投资,做时间的朋友!!!题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -原创 2020-06-04 14:09:02 · 128 阅读 · 0 评论 -
LeetCode_Everyday:001 Two Sum
LeetCode:日更一道1. Two Sum1. Add Two Numbers3. Longest Substring Without Repeating Characters本文主要记录博主刷LeetCode过程,日更一道,解题用的python,如有助益,请关注我的公众号CV伴读社1. Two Sumclass Solution: def twoSum(self, nums: List[int], target: int) -> List[int]: dict =原创 2020-06-02 13:27:34 · 124 阅读 · 1 评论