python算法
爱你的落寞
这个作者很懒,什么都没留下…
展开
-
6.快速幂
6.快速幂(python) 问题描述: 计算a的n次方然后对b求余 问题示例: 2的31次方 % 3 = 2 问题分析: 利用二进制与十进制转换的道理可解决 代码实现: class Solution: def fastPower(self, a, b, n): ans = 1 while n > 0: if n % 2 == 1: ans = ans * a % b a = a *原创 2020-10-06 12:57:29 · 411 阅读 · 0 评论 -
5.x的n次幂
5.x的n次幂(python) 问题描述: 实现函数Pow(x, n),计算并返回x的n次幂。 问题示例: Pow(2, 3) = 8 代码实现: class Solution: def myPow(self, x, n): if n < 0: x = 1 // x n = -n ans = 1 t = x while n != 0: if n % 2 ==原创 2020-10-05 11:49:29 · 310 阅读 · 0 评论 -
4.求平方根
4.求平方根 问题描述: 实现int sqrt(int n)函数,计算返回n的平方根。 问题示例: sqrt(3) = 1,sqrt(10) = 3,sqrt(4) = 2,sqrt(5) = 2。 问题分析: 一般遇到解方程的题目,最常用的就是二分法。 代码实现: class Solution: def my_Sqrt(self, n): """利用二分法实现平方根函数""" a, m, b = 0, n//2, n while a <= b:原创 2020-10-05 10:36:15 · 242 阅读 · 0 评论 -
3.检测2的幂次
3.检测2的幂次(python实现) 问题描述: 检测一个整数n是否是2的幂次。 问题示例: n = 4,返回True;n = 5,返回False。 问题分析: 利用左移运算符解决问题。 代码实现: class Solution: def checkPowerOf(self, n): m = 1 for i in range(30): if m == n: return True else原创 2020-10-05 09:50:28 · 152 阅读 · 0 评论 -
2.判断平方数
2.判断平方数 问题描述: 给定一个正整数num,判断是否为完全平方数,要求当num为完全平方数时返回True,否则返回False。 问题示例: 输入num = 16,输出True,sqrt(16) = 4;输入num = 15, 输出False,sqrt(15) = 3.87。 问题分析: 利用sqrt函数得到的结果与其取整后得到的结果相比较,即可判断 代码实现: # author: shuai time: 2020/10/4 import math class Solution: def i原创 2020-10-04 18:48:02 · 1779 阅读 · 1 评论 -
1.完美平方
1.完美平方 问题描述: 给定一个正整数n,找到若干个完全平方数,使得它们的和等于n,完全平方数的个数最少。 问题示例: 给出 n = 12 ,返回 3 , 因为 12 = 4 + 4 + 4 ;给出 n = 13 , 返回 2,因为 13 = 4 + 9。 利用定理: 代码实现: class Solution: def numSquares(self, n): """拉格朗日四平方和定理""" while n % 4 == 0: n //=原创 2020-10-04 18:14:32 · 227 阅读 · 1 评论