LeetCode刷题---简单组(六)
小馒头学python 于 2023-10-31 22:28:27 发布
阅读量1.9k
点赞数 11
分类专栏 LeetCode刷题 文章标签 leetcode 算法 职场和发展
8 篇文章0 订阅
文章目录
🍒题目一 69. x 的平方根
🍒解法一
class Solution(object): def mySqrt(self, x): """ :type x: int :rtype: int """ if x == 0: return 0 ans = int(math.exp(0.5 * math.log(x))) return ans + 1 if (ans + 1) ** 2 <= x else ans • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 • 9 • 10
官方作答,使用数学公式的转换进行求解
🍒解法二
解法二使用的是二分法,本人属实没想到,常规来说,二分法用于查询,居然在这里可以用到,当然此题也是查询,还是自己笨~
class Solution(object): def mySqrt(self, x): """ :type x: int :rtype: int """ first = 0 end = x e = -1 while first<=end: mid = (first+end)//2 if mid*mid<=x: e = mid first = mid + 1 else: end = mid - 1 return e • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 • 9 • 10 • 11 • 12 • 13 • 14 • 15 • 16 • 17
🍒题目二 70. 爬楼梯
假设你正在爬楼梯。需要 n 阶你才能到达楼顶。
每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?
示例 1:
输入:n = 2
输出:2
解释:有两种方法可以爬到楼顶。
- 1 阶 + 1 阶
- 2 阶
示例 2:
输入:n = 3
输出:3
解释:有三种方法可以爬到楼顶。
- 1 阶 + 1 阶 + 1 阶
- 1 阶 + 2 阶
- 2 阶 + 1 阶
🍒解法一
class Solution(object): def climbStairs(self, n): """ :type n: int :rtype: int """ a = 1 b = 1 for _ in range(n - 1): a, b = b, a + b return b • 1 • 2 • 3 • 4 • 5 • 6 • 7 • 8 • 9 • 10 • 11
leetcode里面大佬的思路
总结,我发现自己想的不细,我甚至想到了全排列,后来发现1就是1,2就是2啊!!!哭死
等过两天我整理一下前几天的做题思路,做个汇总方便后续刷题参考~
挑战与创造都是很痛苦的,但是很充实。
显示推荐内容