![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
剑指Offer
react_in
小小前端研发
展开
-
剑指 Offer 61. 扑克牌中的顺子
参考链接:leetcodeclass Solution(object): def isStraight(self, nums): """ :type nums: List[int] :rtype: bool """ repeat = set() ma, mi = 0, 14 for num in nums: if num == 0:原创 2021-04-11 22:19:59 · 61 阅读 · 0 评论 -
剑指 Offer 60. n个骰子的点数
参考链接: Leetcode解class Solution(object): def dicesProbability(self, n): """ :type n: int :rtype: List[float] """ dp = [1/6.0] * 6 for i in range(2, n + 1): tmp = [0] * (5 * i + 1) f原创 2021-04-11 21:08:40 · 68 阅读 · 0 评论 -
剑指 Offer 49. 丑数
参考链接:leetcode解class Solution(object): def nthUglyNumber(self, n): """ :type n: int :rtype: int """ dp, a, b, c = [1] * n, 0, 0, 0 for i in range(1, n): n2, n3, n5 = dp[a] * 2, dp[b] * 3, dp[c原创 2021-04-11 19:45:24 · 82 阅读 · 0 评论 -
剑指 Offer 63. 股票的最大利润
class Solution(object): def maxProfit(self, prices): """ :type prices: List[int] :rtype: int """ low_price, profit = float("+inf"), 0 for price in prices: low_price = min(low_price, price)原创 2021-04-11 11:41:13 · 61 阅读 · 0 评论 -
剑指 Offer 10- I. 斐波那契数列
class Solution(object): def fib(self, n): """ :type n: int :rtype: int """ a, b = 0, 1 for i in range(n): a, b = b%1000000007, (a+b)%1000000007 return a原创 2021-04-11 11:10:36 · 70 阅读 · 0 评论 -
剑指 Offer 27. 二叉树的镜像
# Definition for a binary tree node.# class TreeNode(object):# def __init__(self, x):# self.val = x# self.left = None# self.right = Noneclass Solution(object): def mirrorTree(self, root): """ :type roo原创 2021-04-11 10:57:22 · 59 阅读 · 0 评论 -
剑指 Offer 24. 反转链表(JavaScript)
思路:确认head是不是空的,即head等于第一个元素还是head.next等于第一个元素,题目head指向第一个元素设立一个myHead变量,用来保存反转链的头元素,初始值为null开始反转保存下个头节点:var temp = head.next反转链连接到新节点上:head.next = myHead确认反转链新的头节点 myHead = head将变量赋予头节点:head = tempvar reverseList = function(head) { var myHead原创 2021-03-19 20:48:02 · 135 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字(JavaScript)
思路:首先先确认时间和空间需求三种情况:(1)只有时间要求:用字典(2)时间要求+空间要求:指针+原地排序数组(3)空间O(1),且不能修改原数组代码方法一:时间复杂度O(n)空间复杂度O(n)/** * @param {number[]} nums * @return {number} */var findRepeatNumber = function(nums) { const numSet = new Set(); for(const num of原创 2021-03-19 19:54:35 · 87 阅读 · 0 评论 -
剑指 Offer 10- II. 青蛙跳台阶问题(JavaScript)
思路斐波那契(用记忆迭代法,否则会超时报错)动态规划当n=0时,dp[0] = 1当n=1时,dp[1] = 1当n>=2时,dp[n] = dp[n-1] + dp[n-2]代码/** * @param {number} n * @return {number} */var numWays = function(n) { var dp = []; for(var i=0;i<=n;i++){ if(i===0){原创 2021-03-18 21:39:05 · 76 阅读 · 0 评论 -
剑指 Offer 15. 二进制中1的个数(JavaScript)
var hammingWeight = function(n) { var count = 0; while(n){ count++; n = (n-1)&n; } return count;}参考链接【1】:https://blog.csdn.net/weixin_39006917/article/details/109670571原创 2021-03-10 16:49:03 · 89 阅读 · 0 评论