LeetCode刷题
TongYixuan_LUT
这个作者很懒,什么都没留下…
展开
-
LeetCode3. 无重复字符的最长子串
3. 无重复字符的最长子串原题链接给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为...原创 2020-04-01 16:26:58 · 74 阅读 · 0 评论 -
LeetCode4. 寻找两个有序数组的中位数
4. 寻找两个有序数组的中位数原题链接给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 =...原创 2020-04-16 20:26:06 · 118 阅读 · 0 评论 -
LeetCode23. 合并K个排序链表
23. 合并K个排序链表合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。示例:输入:[1->4->5,1->3->4,2->6]输出: 1->1->2->3->4->4->5->6原题链接# 23. 合并K个排序链表class ListNode: def __init__(...原创 2020-03-30 19:39:04 · 140 阅读 · 0 评论 -
LeetCode45. 跳跃游戏 II
45. 跳跃游戏 II给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。你的目标是使用最少的跳跃次数到达数组的最后一个位置。示例:输入: [2,3,1,1,4]输出: 2解释: 跳到最后一个位置的最小跳跃数是 2。从下标为 0 跳到下标为 1 的位置,跳 1 步,然后跳 3 步到达数组的最后一个位置。说明:假设你总是可以到达数组...原创 2020-03-31 13:03:48 · 168 阅读 · 0 评论 -
LeetCode54. 螺旋矩阵
54. 螺旋矩阵给定一个包含 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],[5, 6, 7, 8],[9,10,11,12]]输出: [1,...原创 2020-03-29 20:46:38 · 89 阅读 · 0 评论 -
LeetCode72. 编辑距离
72. 编辑距离原题链接给你两个单词 word1 和 word2,请你计算出将 word1 转换成 word2 所使用的最少操作数 。你可以对一个单词进行如下三种操作:插入一个字符删除一个字符替换一个字符示例 1:输入:word1 = “horse”, word2 = “ros”输出:3解释:horse -> rorse (将 ‘h’ 替换为 ‘r’)rorse -&...原创 2020-04-17 19:32:31 · 128 阅读 · 0 评论 -
LeetCode86. 分隔链表
86. 分隔链表原题链接给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。你应当保留两个分区中每个节点的初始相对位置。示例:输入: head = 1->4->3->2->5->2, x = 3输出: 1->2->2->4->3->5class Solution: d...原创 2020-04-02 15:03:50 · 159 阅读 · 0 评论 -
LeetCode88. 合并两个有序数组
LeetCode88. 合并两个有序数组给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:输入:nums1 = [1,2,3,0,...原创 2020-03-26 20:18:28 · 79 阅读 · 0 评论 -
LeetCode121. 买卖股票的最佳时机
买卖股票的最佳时机给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。如果你最多只允许完成一笔交易(即买入和卖出一支股票一次),设计一个算法来计算你所能获取的最大利润。注意:你不能在买入股票前卖出股票。示例 1:输入: [7,1,5,3,6,4]输出: 5解释: 在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 ...原创 2020-03-27 17:00:26 · 84 阅读 · 0 评论 -
LeetCode269. 火星词典
269. 火星词典原题链接现有一种使用字母的全新语言,这门语言的字母顺序与英语顺序不同。假设,您并不知道其中字母之间的先后顺序。但是,会收到词典中获得一个 不为空的 单词列表。因为是从词典中获得的,所以该单词列表内的单词已经 按这门新语言的字母顺序进行了排序。您需要根据这个输入的列表,还原出此语言中已知的字母顺序。示例 1:输入:[“wrt”,“wrf”,“er”,“ett”...原创 2020-03-28 18:39:22 · 652 阅读 · 0 评论 -
LeetCode540. 有序数组中的单一元素
540. 有序数组中的单一元素给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。示例 1:输入: [1,1,2,3,3,4,4,8,8]输出: 2示例 2:输入: [3,3,7,7,10,11,11]输出: 10class Solution: def singleNonDuplicate(self,nums): for ...原创 2020-04-07 13:40:42 · 178 阅读 · 0 评论 -
LeetCode763. 划分字母区间
763. 划分字母区间字符串 S 由小写字母组成。我们要把这个字符串划分为尽可能多的片段,同一个字母只会出现在其中的一个片段。返回一个表示每个字符串片段的长度的列表。示例 1:输入: S = “ababcbacadefegdehijhklij”输出: [9,7,8]解释:划分结果为 “ababcbaca”, “defegde”, “hijhklij”。每个字母最多出现在一个片段中。...原创 2020-03-29 18:27:37 · 214 阅读 · 0 评论 -
LeetCode826.安排工作以达到最大收益
826. 安排工作以达到最大收益原题链接有一些工作:difficulty[i] 表示第i个工作的难度,profit[i]表示第i个工作的收益。现在我们有一些工人。worker[i]是第i个工人的能力,即该工人只能完成难度小于等于worker[i]的工作。每一个工人都最多只能安排一个工作,但是一个工作可以完成多次。举个例子,如果3个工人都尝试完成一份报酬为1的同样工作,那么总收益为 $3。...原创 2020-04-05 14:24:25 · 192 阅读 · 0 评论 -
LeetCode.1116打印零与奇偶数
原题:https://leetcode-cn.com/problems/print-zero-even-odd/假设有这么一个类:class ZeroEvenOdd {public ZeroEvenOdd(int n) { … } // 构造函数public void zero(printNumber) { … } // 仅打印出 0public void even(prin...原创 2020-03-26 17:38:03 · 265 阅读 · 0 评论