
leetcode
文章平均质量分 79
qq_26919935
这个作者很懒,什么都没留下…
展开
-
递归--Leetcode(python)
至少有K个重复字符的最长子串找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。示例 1:输入:s = “aaabb”, k = 3输出:3最长子串为 “aaa” ,其中 ‘a’ 重复了 3 次。示例 2:输入:s = “ababbc”, k = 2输出:5最长子串为 “ababb” ,其中 ‘a’ 重复了 2 次, ‘b’ 重复了 3 次。解法看题目有点像用动态规划的方法来做,但是并没有好方法,而是用递归。首原创 2020-09-04 10:38:19 · 1143 阅读 · 0 评论 -
常见题:无序数组中第k大的数(python)
思路一:暴力解法先对数组排序,然后找出第k个位置sorted(nums)[-k]算法的时间复杂度为 O(N log N),空间复杂度为 O(1)思路二:利用快排思想(https://blog.youkuaiyun.com/wenqiwenqi123/article/details/81669899)快速排序每次把一个元素交换到正确的位置,同时把左边的都放上大的,右边都放上小的。这个算法每一次选取...原创 2020-04-09 16:48:00 · 3695 阅读 · 0 评论 -
二叉搜索树--LeetCode(python)
验证二叉搜索树给定一个二叉树,判断其是否是一个有效的二叉搜索树。假设一个二叉搜索树具有如下特征:节点的左子树只包含小于当前节点的数。节点的右子树只包含大于当前节点的数。所有左子树和右子树自身必须也是二叉搜索树。示例 1:输入: 2 / \ 1 3输出: true示例 2:输入: 5 / \ 1 4 / \ 3 ...原创 2020-03-07 17:56:41 · 776 阅读 · 0 评论 -
二叉树--Leetcode(python)
树的遍历二叉树的前序遍历递归:# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solut...原创 2020-03-05 16:48:16 · 786 阅读 · 0 评论 -
难度较大题型--LeetCode
寻找两个有序数组的中位数给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [1, 2]nums2 = [3, 4]...原创 2020-03-05 11:36:50 · 608 阅读 · 0 评论 -
二分法--Leetcode(python)
二分查找给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:输入: nums = [-1,0,3,5,9,12], target = 9输出: 4解释: 9 出现在 nums 中并且下标为 4示例 2:输入: nums = [-1,0,3,5,9,12],...原创 2020-02-25 10:29:44 · 893 阅读 · 0 评论 -
数学、位运算--Leetcode(python)
直线上最多的点数给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。示例 1:输入: [[1,1],[2,2],[3,3]]输出: 3解释:^|| o| o| o +------------->0 1 2 3 4示例 2:输入: [[1,1],[3,2],[5,3],[4,1],[2,3],[1,4]]输出:...原创 2020-02-11 10:23:12 · 673 阅读 · 2 评论 -
动态规划--Leetcode(python)
至少有K个重复字符的最长子串找到给定字符串(由小写字符组成)中的最长子串 T , 要求 T 中的每一字符出现次数都不少于 k 。输出 T 的长度。示例 1:输入:s = “aaabb”, k = 3输出:3最长子串为 “aaa” ,其中 ‘a’ 重复了 3 次。示例 2:输入:s = “ababbc”, k = 2输出:5最长子串为 “ababb” ,其中 ‘a’ 重复了...原创 2020-02-07 21:46:55 · 607 阅读 · 0 评论 -
排序与检索--Leetcode(python)
最大数给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。示例 1:输入: [10,2]输出: 210示例 2:输入: [3,30,34,5,9]输出: 9534330说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数。解法其实就是写一个排序方法,判断两个字符串的大小。两个字符串数字a,b,若a+b<b+a,则a<b,即b排在a的前面更大。记...原创 2020-02-07 10:04:28 · 513 阅读 · 0 评论 -
链表--Leetcode(python)
排序链表在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。示例 1:输入: 4->2->1->3输出: 1->2->3->4示例 2:输入: -1->5->3->4->0输出: -1->0->3->4->5解法首先是O(nlogn)的时间复杂度,所以想到快速排序和归并排序,...原创 2020-02-05 16:24:37 · 335 阅读 · 0 评论 -
堆栈、队列--Leetcode(python)
最小栈设计一个支持 push,pop,top 操作,并能在常数时间内检索到最小元素的栈。push(x) – 将元素 x 推入栈中。pop() – 删除栈顶的元素。top() – 获取栈顶元素。getMin() – 检索栈中的最小元素。示例:MinStack minStack = new MinStack();minStack.push(-2);minStack.push(0);...原创 2019-11-06 23:09:37 · 776 阅读 · 0 评论 -
数组--LeetCode(python)
乘积最大子序列给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。示例 1:输入: [2,3,-2,4]输出: 6解释: 子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释: 结果不能为 2, 因为 [-2,-1] 不是子数组。解法:第一时间想到的是动态规划,想找当前位置上的乘积最大值,但是发现正负号的...原创 2019-10-31 21:04:37 · 2033 阅读 · 0 评论 -
前缀树Trie--LeetCode(python)
实现 Trie (前缀树)实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。示例:Trie trie = new Trie();trie.insert(“apple”);trie.search(“apple”); // 返回 truetrie.search(“app”); // 返回 falsetrie.start...原创 2019-10-30 21:23:00 · 664 阅读 · 0 评论 -
字符串--Leetcode (python)
4. Median of Two Sorted Arrays原创 2019-10-01 15:48:19 · 1158 阅读 · 0 评论