随笔分类 - leetcode
摘要:Q: 给定一个整数 n,返回 n! 结果尾数中零的数量。 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。 示例 2: 输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零. 说明: 你算法的时间复杂度应为 O(log n) 。 A: 5乘2才能得到10,
        阅读全文
                
摘要:Q: 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。 示例 1: 输入: [1,2,3,4,5,6,7] 和 k = 3 输出: [5,6,7,1,2,3,4] 解释: 向右旋转 1 步: [7,1,2,3,4,5,6] 向右旋转 2 步: [6,7,1,2,3,4,5] 向
        阅读全文
                
摘要:Q: 峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞。 示例 1: 输入: n
        阅读全文
                
摘要:知道是DP,但就是找不到递推方程,只好拿递归做,从左遍历,遇到第一个匹配的开始对之后的两个字符串递归,复杂度应该是O(N!),指数级的,第51个用例过不去了。 DP[i] [j]表示由s的前i个元素组成的序列A中有多少由t前j个元素组成的序列B。 首先若s的前i-1序列包含t的前j序列,那么s的前i
        阅读全文
                
摘要:一开始写的: # # @lc app=leetcode.cn id=114 lang=python3 # # [114] 二叉树展开为链表 # # Definition for a binary tree node. # class TreeNode: # def __init__(self, x)
        阅读全文
                
摘要:105. 从前序与中序遍历序列构造二叉树 2020/2/17: C++: 1 /** 2 * Definition for a binary tree node. 3 * struct TreeNode { 4 * int val; 5 * TreeNode *left; 6 * TreeNode 
        阅读全文
                
摘要:两种方法: 1.递归,每个节点递归时都会有一个上下界,越往下遍历节点的上下界会越来越收紧,若有不在上下界内的就返回False,最初对根节点的上下界没有,那就默认为负无穷到正无穷。 Definition for a binary tree node. # class TreeNode: # def _
        阅读全文
                
摘要:题目 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 示例: 输入: "25525511135" 输出: ["255.255.11.135", "255.255.111.35"] 想法就是回溯,不过因为俺是python新手,好几个小问题出错导致结果一直不对 1.strip()、
        阅读全文
                
摘要:开始想的是计数排序,但超时,如[2,999999999]这样的样例,记录数组太长,有用的占比太少。后看官方思路,用n+1(n为原数组元素个数)个桶去筛元素,每个桶能放的元素大小范围固定,即下面代码中的step,处理完后再扫描一遍当前桶最大和后继桶最小值的差,取最大差值为结果。至于为什么要n+1个桶,
        阅读全文
                
摘要:python 前面加个dummy节点,这样就不用考虑头节点的更新问题了 # Definition for singly-linked list. # class ListNode: # def __init__(self, x): # self.val = x # self.next = None 
        阅读全文
                
摘要:俺的: class Solution: def removeDuplicates(self, nums: List[int]) -> int: if(len(nums)==0): return 0 i=0 while i<len(nums): s=i while i<len(nums) and nu
        阅读全文
                
摘要:176编写一个 SQL 查询,获取 Employee 表中第二高的薪水(Salary) 。 select IFNULL((SELECT distinct salary from employee order by salary desc limit 1,1),NULL)AS SECONDHIGHES
        阅读全文
                
摘要:题目: 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2输出:[ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4],] 解答: 回溯算法 Python: 1 class Solution: 2 d
        阅读全文
                
摘要:给定一个包含红色、白色和蓝色,一共 n 个元素的数组,原地对它们进行排序,使得相同颜色的元素相邻,并按照红色、白色、蓝色顺序排列。 此题中,我们使用整数 0、 1 和 2 分别表示红色、白色和蓝色。 注意: 不能使用代码库中的排序函数来解决这道题。 示例: 输入: [2,0,2,1,1,0] 输出:
        阅读全文
                
摘要:二分法,先对行二分找出结果可能存在的行,再对这一行二分查找。O(Log m+Log n),m、n分别为矩阵的高和宽。 1 class Solution { 2 public: 3 bool searchMatrix(vector<vector<int>>& matrix, int target) {
        阅读全文
                

浙公网安备 33010602011771号