算法
Eren-Yu
曾用名:幻象空间的十三楼,现用名:Eren-Yu与B站名称同名。微信公众号:半导体器件建模
展开
-
汉诺塔问题
def hanoi(n,a,b,c): if n>0: hanoi(n-1,a,c,b) //n-1个盘子从a经过c移动到b print("moving from %s to %s" % (a,c)) //最大的盘子从a移动到c hanoi(n-1,b,a,c) //n-1个盘子从b经过a移动到c hanoi(3,'A','B','C')汉诺塔移动次数的递推式:h(x)=2h(x)+1h(64)=18446744073709551615假设婆罗门每秒钟搬一个盘子,...原创 2020-08-18 23:30:12 · 121 阅读 · 0 评论 -
学习空间复杂度基本概念
空间复杂度:用来评估算法内存占用大小的式子空间复杂度的表示方法与时间复杂度完全一样算法使用了几个变量:O(1)算法使用了长度为n的一维列表:O(n)算法使用了m行n列的二维列表:O(mn)“空间换时间”:为了加快运行时间...原创 2020-08-17 17:20:05 · 114 阅读 · 0 评论 -
学习时间复杂度基本概念
时间复杂度:用来评估算法运行效率的一个式子print('Hello World')print('Hello Python')print('Hello Algorithm')以上时间复杂度为O(1)**************************for i in range(n): print('Hello World') for j in range(n): print('Hello World')以上时间复杂度为O(n^2)简单快速判断算法复杂度:确定问题规模n.原创 2020-08-16 19:44:54 · 153 阅读 · 0 评论 -
python算法(8.15):回文数
判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。class Solution(object): def isPalindrome(self, x): "转载 2020-08-15 10:57:24 · 239 阅读 · 0 评论 -
python算法(8.14):两数之和
给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]python3:class Solution: def twoSum(self, nums, target): "转载 2020-08-15 10:21:57 · 127 阅读 · 0 评论