常喝水
常喝水
全部文章
题解
未归档(1)
求职(4)
知识积累(1)
算法(10)
项目(4)
归档
标签
去牛客网
登录
/
注册
学习日记
一房二人三餐四季,星辰大海,雅俗共度
全部文章
/ 题解
(共69篇)
36. 二叉搜索树与双向链表
二叉搜索树按照中序遍历可以得到有序的链表(递归) 左子树 根节点右子树class Solution: def Convert(self, pRootOfTree): # write code here if not pRootOfTree: retur...
剑指offer
链表
树
2020-02-02
0
668
52. 两个链表的第一个公共节点
定义两个指针, 第一轮让两个到达末尾的节点指向另一个链表的头部, 最后如果相遇则为交点(在第一轮移动中恰好抹除了长度差) 两个指针等于移动了相同的距离, 有交点就返回, 无交点就是各走了两条指针的长度# -*- coding:utf-8 -*- # class ListNode: # def...
剑指offer
链表
2020-02-01
5
863
最大公约数 |漫画算法
辗转相除法:取模运算性能较差,时间复杂度近似为O(log(max(a,b))) 更相减损术:算法性能不稳定,最坏为O(max(a,b)) 更相减损术与移位相结合:性能稳定,时间复杂度为O(log(max(a,b)))def gcd(a, b): if a == b: return a if...
数学
位运算
2020-01-08
0
925
30.包含min函数的栈 | python
(漫画算法也有这道题)想调用min函数,我们需要有一个辅助栈,记录目前的最小值。每次进行push操作,辅助栈中要压入当前数据栈中最小数字。进行pop操作时,辅助栈弹出栈底数字。进行min操作时,得到辅助栈栈底数字。 比如: 压入4:辅助栈[4] 压入5:辅助栈[4,4] 压入3:辅助栈[4,4,...
剑指offer
栈
2020-01-08
2
874
58. 翻转字符串
如果调用函数,可以很快得到答案,但这应该不是这道题的本意 class Solution: def ReverseSentence(self, s): # write code here return ' '.join(s.split(' ')[::-1]) 标准做法是通过...
剑指offer
字符串
2020-01-02
0
631
59.滑动窗口的最大值
利用双端队列,队列存放有可能成为最大数值数字的下标; class Solution: def maxInWindows(self, num, size): # write code here i = 0 queue = [] r...
剑指offer
队列
2019-12-30
3
872
60.n个骰子的点数
利用动态规划的思想dp[i][j] = dp[i][j] + dp[i - 1][j - k] (1 <= k <= f)代码是leetcode的答案,和书上的问题不完全一样 class Solution: def numRollsToTarget(self, d: int, f...
剑指offer
动态规划
2019-12-30
0
875
63.股票的最大利润
利用动态规划的思想,题目在leetcode要考虑的情况: 股票价格数组只有1个数字或者是空的 股票价格递减,也就是不会有利润class Solution: def maxProfit(self, prices: List[int]) -> int: if len(prices...
剑指offer
数组
动态规划
数学
2019-12-30
0
934
67. 把字符串转换为整数
要考虑到的情况: 空字符串 正负号 溢出(最大的正整数值是0x7FFF FFFF,最小的负整数是0x8000 0000) 但是python和c/c++/java不同,后者里面的负数都是以补码的形式进行存储的,python中的负数自带符号。所以要注意是-0x80000000 <= sum*l...
剑指offer
位运算
字符串
2019-12-30
6
1453
65. 不用加减乘除做加法
其实就是用位运算做https://blog.csdn.net/lrs1353281004/article/details/87192205 class Solution: def Add(self, num1, num2): # write code here ...
剑指offer
位运算
2019-12-28
5
904
首页
上一页
1
2
3
4
5
6
7
下一页
末页