Python数据结构
Matrix_1127
这个作者很懒,什么都没留下…
展开
-
B站哔哩哔哩21届秋招算法岗笔试 假设货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小明使用1024元的纸币购买了一件价值为N(0<N<=1024)的商品
哔哩哔哩21届秋招算法岗笔试题目描述:假设货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小明使用1024元的纸币购买了一件价值为N(0<N<=1024)的商品,请问最少他会收到多少硬币?输入格式共一行,包含整数N。输出格式共一行,包含一个数,表示最少收到的硬币数。测试样例:输入200输出17样例解释:花200,需要找零824824 = 12 * 64 + 3 * 16 + 2 * 4解题思路采用动态规划的思路(a原创 2020-08-13 22:08:15 · 1343 阅读 · 2 评论 -
浪潮科技21届研发岗笔试 排石头
浪潮科技21届研发岗笔试石头的摆放位置题目描述:沙滩按照线型摆放着n个大小不一的球形石头,已知第i个石头的半径为ri,且不存在两个石头有相同的半径。为了使石头的摆放更加美观,现要求摆放的石头的半径从左往右依次递增。因此,需要对一些石头进行移动,每次操作可以选择一个石头,并把它放在剩下n−1个石头在最左边或最右边。问最少需要操作多少次才能将这n个石头的半径变成升序?输入描述:第一行一个整数n,表示石头的个数。(1 <= n <= 100000) 第二行n个整数,表示从左往右石头的半径r1原创 2020-08-03 21:54:55 · 873 阅读 · 0 评论 -
快手秋招面试,计算n阶乘末尾连续0的个数
快手面试题,计算n!末尾连续0的个数解题思路要求n的阶乘中末尾含有多少个0。由于n!数值会特别大,例如n=10,n!=3628800,那么n!末尾有两个0。直接计算n!的值显然不合适,因为n!数值太大,很容易溢出。所以我们可以这样考虑:两个大数字相乘,都可以拆分成多个质数相乘,而质数相乘结果尾数为0的,只可能是2*5。如果想到了这一点,那么就可以进一步想到:两个数相乘尾数0的个数其实就是依赖于2和5因子的个数。又因为每两个连续数字就会有一个因子2,个数非常充足,所以此时只需要关心5因子的个数就行了。原创 2020-08-01 22:31:36 · 254 阅读 · 0 评论 -
奇安信21届秋招算法岗笔试题 亲7数的个数
奇安信21秋招算法岗笔试题题目描述如果一个正整数可以被7整除,我们称之为亲7数,对于给出的一组个位数字,请找出使用所有的数字排列的数中的亲7数的个数。其中给出的个位数字数组中每一个都是不相关的,即使有重复的数字,如{1,1,2}排列出的整数位{112,121,112,121,211,211},亲7数为{112,112}共2个。输入:个位数字数组,数组有m个元素{x1,x2,x3…xm}(0<=xi<=9)输出:亲7的个数测试样例输入[1,1,2]输出2解题思路方法1:原创 2020-08-01 21:37:44 · 1540 阅读 · 0 评论 -
Python实现常见的排序算法(快排)
冒泡排序冒泡排序对一个输入的列表循环n次,每次比较前后两个数,把大的数交换到后面,慢慢的沉下去,小的数自然就浮起来了,这也就是所谓的冒泡def Bubble_sort(alist): n = len(alist)-1 for i in range(n-1): for j in range(0,n-i): if alist[j] > alist[j+1]: alist[j],alist[j+1] = ali原创 2020-07-03 13:08:30 · 319 阅读 · 0 评论