剑指Offer
zhangxun2007
张勋,男,陕西省西安市户县,延安大学毕业,计算机学院,数学与应用数学专业,07级1班。
展开
-
ZJ-067剪绳子
题目描述给你一根长度为n的绳子,请把绳子剪成整数长的m段(m、n都是整数,n>1并且m>1,m<=n),每段绳子的长度记为k[1],...,k[m]。请问k[1]x...xk[m]可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。方法一:class Solution: def cutRope(self, number): d=list(range(4))+[1]*(number-3)原创 2021-01-30 08:29:17 · 139 阅读 · 0 评论 -
ZJ027-斐波那契数列
题目描述大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项(从0开始,第0项为0,第1项是1)。方法一:class Solution: def Fibonacci(self, n): F=range(2) for i in range(2,n+1): F.append(F[i-1]+F[i-2]) return F[n]...原创 2021-01-30 08:15:54 · 130 阅读 · 0 评论 -
ZJ033丑数
题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。方法一:class Solution: def GetUglyNumber_Solution(self, index): if index<1: return 0 else: dp=[1]原创 2021-01-19 21:47:03 · 86 阅读 · 0 评论 -
ZJ012数值的整数次方
题目描述给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。保证base和exponent不同时为0方法一:class Solution: def Power(self, base, exponent): return base**exponent原创 2021-01-19 21:43:05 · 65 阅读 · 0 评论 -
ZJ011二进制中1的个数
题目描述输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。方法一:class Solution: def NumberOf1(self, n): if n>=0: return bin(n).count('1') else: return 32-bin(~n).count('1')...原创 2021-01-19 21:36:10 · 82 阅读 · 0 评论 -
ZJ047求1+2+3+...+n
题目描述求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。方法一:class Solution: def Sum_Solution(self, n): sum=n sum+=n>1 and self.Sum_Solution(n-1) return sum...原创 2020-12-26 18:47:22 · 84 阅读 · 0 评论 -
ZJ003从尾到头打印链表
题目描述输入一个链表,按链表从尾到头的顺序返回一个ArrayList方法一: class ListNode: def __init__(self, x): self.val = x self.next = Noneclass Solution: def printListFromTailToHead(self, listNode): r=[] while listNode: r.i原创 2020-12-26 17:55:52 · 87 阅读 · 0 评论 -
ZJ002替换空格
题目描述请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy方法一:class Solution: def replaceSpace(self, s): return s.replace(" ", "%20")...原创 2020-12-26 17:36:24 · 90 阅读 · 0 评论 -
ZJ001二维数组中的查找
题目描述在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。方法一:class Solution: def Find(self, target, array): for i in range(len(array)): if target in array[i]: return原创 2020-12-26 17:27:15 · 121 阅读 · 0 评论