
Python算法(3.0)
Half_Soul
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
小米OJ(8)最少交换次数
描述:给出一个无序数列,每次只能交换相邻两个元素,求将原数列变成递增数列的最少交换次数。 如:数列:2,3,1,交换3和1后变成:2,1,3;交换1和2之后变成:1,2,3。总共交换2次。输入:逗号隔开的正整数数列。输出:正整数输入样例:2,3,1输出样例:2思路:既求输入奇数个数数字的中间数,先将输入数字进行排序输出中间一个数字就可...原创 2019-04-25 22:53:04 · 308 阅读 · 0 评论 -
小米OJ(2)找出单独的数字
描述:给出N个数字。其中仅有一个数字出现过一次,其他数字均出现过两次,找出这个出现且只出现过一次的数字。要求时间和空间复杂度最小。输入:输入多个数字,每个数字以空格分开。数字数量N<20,输入数字的最大值小于256。输出:输出内容为只出现过唯一一次的数字。输入样例:10 10 11 12 12 11 16输出样例:16思路:以字符...原创 2019-04-21 14:06:17 · 216 阅读 · 0 评论 -
小米OJ(11)构建短字符串
描述:给定任意一个较短的子串,和另一个较长的字符串,判断短的字符串是否能够由长字符串中的字符组合出来,且长串中的每个字符只能用一次。输入:一行数据包括一个较短的字符串和一个较长的字符串,用一个空格分隔,如: ab aab bb abc aa cccc uak areuok输出:如果短的字符串可以由长字符串中的字符组合出来,返回字符串 “true”,否则返回字符串 "false"...原创 2019-04-29 10:50:44 · 314 阅读 · 0 评论 -
小米OJ(10)爬楼梯
描述:在你面前有一个n阶的楼梯,你一步只能上1阶或2阶。 请问计算出你可以采用多少种不同的方式爬完这个楼梯。输入:一个正整数,表示这个楼梯一共有多少阶。输出:一个正整数,表示有多少种不同的方式爬完这个楼梯。输入样例:510输出样例:889思路:递归算法将大的数字拆分成简单的小数字,当台阶数为1返回一种,当台阶数为2返回两种。...原创 2019-04-29 10:23:32 · 424 阅读 · 0 评论 -
小米OJ(1)a+b
描述: 给出两个非负数a和b,输出a+b的结果。输入:多组输入:包含两个非负数aa和bb,以空格分隔;aa和bb保证小于2^{32}232.输入样例:233 666123 0输出样例:899123小提示 :在小米OJ中,用例通过STDIN输入,以EOF结束,如果为多组输入,题目会明确说明。代码:impo...原创 2019-04-19 13:32:00 · 393 阅读 · 0 评论 -
小米OJ(6)交叉队列
描述:给出三个队列 s1,s2,s3 ,判断 s3 是否是由 s1 和 s2 交叉得来。 如:s1 为 aabcc , s2 为 dbbca。 当 s3 为 aadbbcbcac 时,返回 true(即将 s1 拆成三部分: aa,bc,c 分别插入 s2 对应位置) 否则返回 false。输入:aabcc,dbbca,aadbbcbcac输出:true输入样例:...原创 2019-04-23 23:09:03 · 302 阅读 · 0 评论 -
小米OJ(5)找出旋转有序数列的中间值
描述:给出一个有序数列随机旋转之后的数列,如原有序数列为:[0,1,2,4,5,6,7] ,旋转之后为[4,5,6,7,0,1,2]。 假定数列中无重复元素,且数列长度为奇数。 求出旋转数列的中间值。如数列[4,5,6,7,0,1,2]的中间值为4。输入:4,5,6,7,0,1,2输出:4输入样例:11,2,34,5,6,7,0,1,212,13,1...原创 2019-04-22 22:29:24 · 308 阅读 · 0 评论 -
小米OJ(9)移除K位得到的最小值
描述:有一行由 N 个数字组成的数字字符串,字符串所表示的数是一正整数。移除字符串中的 K 个数字,使剩下的数字是所有可能中最小的。假设:输入:一行由 N 个数字组成的数字字符串(0 < N < 20),和一个正整数 K(K < N),两个数据由空格隔开,如:1432219 3。字符串的长度一定大于等于 K 字符串不会以 0 开头输出:移除 K 位...原创 2019-04-27 00:02:40 · 517 阅读 · 0 评论 -
小米OJ(4)最长连续数列
描述:输入一个乱序的连续数列,,输出其中最长连续数列长度,要求算法复杂度为O(n).输入:54,55,300,1215,4,3,2,11,2,3,4,5,6输出:42156思路:输入字符串以逗号分隔数字,将字符串类型通过list,map转化为整形。并通过sort()函数进行排序。确定两个变量l,r分别像两个方向检索连续的数字,最终leng...原创 2019-04-21 22:16:35 · 328 阅读 · 0 评论 -
小米OJ(3)大数相减
描述:两个长度超出常规整形变量上限的大数相减,请避免使用各语言内置大数处理库,如 Java.math.BigInteger 等。输入:有N行测试数据,每一行有两个代表整数的字符串a和b,长度超过百位。规定a>b,a,b>0。测试结果可以用 linux 小工具bc进行测试是否正确。输出:返回表示结果整数的字符串。输入样例:1231231237812739...原创 2019-04-21 21:53:33 · 331 阅读 · 0 评论 -
小米OJ(7)第一个缺失的正数
描述:给出一个无序的数列,找出其中缺失的第一个正数,要求复杂度为 O(n) 如:[1,2,0],第一个缺失为3。 如:[3,4,-1,1],第一个缺失为2。输入:1,2,0输出:3输入样例:1,2,03,4,-1,1-1,-3,-51,2,3-1,-10,0输出样例:32141思路:多组输入“,”为分割将以字...原创 2019-04-24 23:20:04 · 258 阅读 · 0 评论