
leetcode
leetcode刷题笔记
weixin_39883139
这个作者很懒,什么都没留下…
展开
-
11.剑指offer-二进制中1的个数(python)
11.剑指offer-二进制中1的个数(python)本题知识点: 进制转化 补码反码原码请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000...原创 2020-02-25 02:57:56 · 271 阅读 · 0 评论 -
10.剑指offer-矩形覆盖(python)
10.剑指offer-矩形覆盖(python)本题知识点: 递归题目描述我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?比如n=3时,2*3的矩形块有3种覆盖方法解题思路:f(1) = 1 f(2) = 2f(n) = f(n-1) + f(n-2)...原创 2020-02-25 02:39:42 · 294 阅读 · 0 评论 -
9.剑指offer-变态跳台阶(python)
9.剑指offer-变态跳台阶(python)本题知识点: 贪心题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。解题思路:f(1)=1, f(2)=2, f(3)=4, f(4)=8 设n+1级f(n+1),有f(n+1) = f(1) + f(2) + … + f(n)f(n+2) = f(1) + f(2) ...原创 2020-02-25 02:32:20 · 167 阅读 · 0 评论 -
7.剑指offer-青蛙跳台阶问题(python版)
7.剑指offer-青蛙跳台阶问题(python版)本题知识点: 递归题目描述:一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。示例 1:输入:n = 2输出:2示例 2:输入:n = 7输出:21解题思路:此类求 多少种可...原创 2020-02-25 02:14:08 · 254 阅读 · 0 评论 -
7.剑指offer-斐波那契数列(python版)
7.剑指offer-斐波那契数列(python版)本题知识点: 递归题目描述:写一个函数,输入 n ,求斐波那契(Fibonacci)数列的第 n 项。斐波那契数列的定义如下:F(0) = 0, F(1) = 1F(N) = F(N - 1) + F(N - 2), 其中 N > 1.斐波那契数列由 0 和 1 开始,之后的斐波那契数就是由之前的两数相加而得出。答案需要取模...原创 2020-02-25 02:03:20 · 287 阅读 · 0 评论 -
6.剑指offer-旋转数组的最小数字(python版)
6.剑指offer-旋转数组的最小数字(python版)本题知识点: 查找题目描述:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。示例 1:输入:[3,4,5,1,2]输出:1示例 2:输入:[2,2,2,0,...原创 2020-02-25 01:16:24 · 204 阅读 · 0 评论 -
5.剑指offer-用两个栈实现队列(python版)
5.剑指offer-用两个栈实现队列(python版)本题知识点: 队列 栈题目描述:用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例 1:输入:[“CQueue”,“appendTail”,“deleteHe...原创 2020-02-24 11:18:31 · 183 阅读 · 0 评论 -
4.剑指offer-重建二叉树(python版)
4.剑指offer-重建二叉树(python版)本题知识点: 树题目描述:输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如,给出前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树:3/ 9 20/ 15 7解题思路:用...原创 2020-02-22 22:34:04 · 179 阅读 · 0 评论 -
3.剑指offer-从尾到头打印链表(python版)
3.剑指offer-从尾到头打印链表(python版)本题知识点: 链表题目描述:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000解题思路:方法一:递归法。先走至链表末端,回溯时依次将节点值加入列表 ,这样就可以实现链表值的倒序输出。Py...原创 2020-02-22 21:49:18 · 202 阅读 · 0 评论 -
2.剑指offer-替换空格(python版)
2.剑指offer-替换空格(python版)本题知识点: 字符串题目描述:请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。限制:0 <= s 的长度 <= 10000解题思路:先遍历找到多少个空格,然后开辟数组填充。解法一:调用replace函数就可以完成字...原创 2020-02-22 21:00:28 · 163 阅读 · 0 评论 -
1.剑指offer-二维数组中的查找(python版)
因为最近需要准备面试,所以刷一下剑指offer的题目。把自己的一些经验记录一下。1.剑指offer-二维数组中的查找(python版)本题知识点: 查找 数组题目描述:在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例:现有矩阵 matrix 如下:...原创 2020-02-22 19:48:54 · 113 阅读 · 0 评论 -
4.LeetCode-寻找两个有序数组的中位数-Python
4.LeetCode-寻找两个有序数组的中位数-Python题目:给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。请你找出这两个有序数组的中位数,并且要求算法的时间复杂度为 O(log(m + n))。你可以假设 nums1 和 nums2 不会同时为空。示例 1:nums1 = [1, 3]nums2 = [2]则中位数是 2.0示例 2:nums1 = [...原创 2020-02-13 18:10:53 · 118 阅读 · 0 评论 -
3.LeetCode-无重复字符的最长子串 -Python
3.LeetCode-无重复字符的最长子串 -Python题目:给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwke...原创 2020-02-13 16:57:16 · 135 阅读 · 0 评论 -
2.LeetCode-两数相加-Python
2.LeetCode-两数之和-Python题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -...原创 2020-02-12 00:12:30 · 198 阅读 · 1 评论 -
1.LeetCode-两数之和-Python
最近因为换工作需要,又要开始刷题了。发现之前毕业的时候,找工作没有沉淀资料的习惯,工作中也一样。最近计划把leetcode上面的题目刷一遍,在这里做一下笔记记录。1.LeetCode-两数之和-Python题目如下:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能...原创 2020-02-11 23:34:49 · 139 阅读 · 0 评论