随笔分类 -  leetcode

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

上一页 1 ··· 3 4 5 6 7