算法
leecode, 计蒜客
势无形
这个作者很懒,什么都没留下…
展开
-
计蒜客 第18题:跳跃游戏
给定一个非负整数数组,假定你的初始位置为数组第一个下标。 数组中的每个元素代表你在那个位置能够跳跃的最大长度。 请确认你是否能够跳跃到数组的最后一个下标。 例如: A = [2,3,1,1,4], return true. A = [3,2,1,0,4], return false. 格式: 第一行输入一个正整数n,接下来的一行,输入数组A[n]。如果能跳到最后一个下标,输出“tr原创 2015-09-09 14:50:48 · 543 阅读 · 0 评论 -
计蒜客 第7题:奇怪的国家
有一个奇怪的国家,里面的国民对于事情的态度永远只有两面。当两个人遇到一起讨论一个事情的时候——两个持赞同观点的人遇到一起后会对这个事情都继续赞同;一个持赞同观点的人遇到一个持不赞同观点的人的时候,两人都会不再继续赞同;两个持不赞同观点的人遇到一起讨论后反而会对这个事情开始赞同。 输入包括两行,每行包括N个数字(1≤N≤50),分别表示两个人对于N个事情对应的看法——0表示不赞同、1表示赞同。 输原创 2015-09-09 14:23:58 · 458 阅读 · 0 评论 -
计蒜客 第9题:元素移除
给定一个数组和一个数(该数不一定在数组中),从数组里删掉这个数字,返回剩下的数组长度。如:A[] = {1, 2, 3, 4, 5}, 要删除数字3, 那么返回数组长度为4.亲爱的小伙伴们,题目是不是很简单呢? 提示: int removeElement(int A[], int n, int elem) 其中,n代表数组长度,elem代表要删掉的元素。格式: 输入一个数n,继而输入一个数组A原创 2015-09-09 14:36:21 · 644 阅读 · 0 评论 -
计蒜客 第11题:移除数组中的重复元素
给定一个升序排列的数组,去掉重复的数,并返回新的数组的长度。 例如: 数组A = {1, 1, 2},你的函数应该返回长度2,新数组为{1, 2} 要求: 不能新开数组分配额外的空间。即常数空间限制。 提示: 输入一个整数n,以及其对应的数组A[n],输出新数组长度 样例1 输入: 5 0 0 1 1 2 输出: 3shuru1 = raw_input()原创 2015-09-09 14:38:11 · 490 阅读 · 0 评论 -
计蒜客 第17题:X的平方根
设计函数int sqrt(int x),计算x的平方根。 格式: 输入一个数x,输出它的平方根。直到碰到结束符号为止。 千万注意:是int类型哦~ 输入可以如下操作: while(cin>>x) 或者 while(scanf(“%d”, &x) != EOF)样例1 输入: 1 2 3 4 5 6 7 8 9 输出: 1 1 1 2 2原创 2015-09-09 14:49:39 · 438 阅读 · 0 评论 -
计蒜客 第14题:罗马数字转换成整数
给定一个罗马数字s,( I<=s<=MMMCMXCIX)(即1到3999),将罗马数字转换成整数。 如罗马数字I,II,III,IV,V分别代表数字1, 2, 3, 4, 5。 格式: 第一行输入一个罗马数字,接下来输出对应的整数。 提示: 首先要来了解一下罗马数字表示法,基本字符有7个:I,V,X,L,C,D,M,分别表示1,5,10,50,100,500,1000。 在构原创 2015-09-09 14:44:10 · 489 阅读 · 0 评论 -
计蒜客 第15题:单独的数字
给定一个数组,除了一个数出现1次之外,其余数都出现3次。找出出现一次的数。 如:{1, 2, 1, 2, 1, 2, 7}, 找出7. 格式: 第一行输入一个数n,代表数组的长度,接下来一行输入数组A[n],(输入的数组必须满足问题描述的要求),最后输出只出现一次的数。 要求: 你的算法只能是线性时间的复杂度,并且不能使用额外的空间哦~ 样例1 输入: 4 0 0 0原创 2015-09-09 14:45:07 · 579 阅读 · 0 评论 -
计蒜客 第19题:加一
动态数组存放了一些个位数字(正数),组成一个大数。将这个数加1。 例如: A = [2,3,1,1,4], return [2,3,1,1,5] A = [7,8,9], return [7,9,0]. 格式: 第一行输入一个正整数n,接下来的一行,输入数组An。 最后输出新的数组。 样例1 输入: 5 8 9 9 9 9 输出: 9 0 0 0 0#coding=utf原创 2015-09-09 14:53:16 · 723 阅读 · 0 评论 -
计蒜客 第13题:整数转换成罗马数字
给定一个整数num,( 1<=num<=3999),将整数转换成罗马数字。 如1,2,3,4,5对应的罗马数字分别位I,II,III,IV,V等。 格式: 第一行输入一个整数,接下来输出对应的罗马数字。 提示: 罗马数字的常识见此链接,对做题有帮助哦~尤其是表示方法。 http://baike.baidu.com/link?url=injU8M4bAoc2zRZQ1Gtgrf原创 2015-09-09 14:43:23 · 320 阅读 · 0 评论 -
计蒜客 第12题:最后一个单词的长度
给定由大写,小写字母和空格组成的字符串,返回最后一个单词的长度。 如果不存在最后一个单词,返回0 注意: “单词”是指不包含空格符号的字符串 例如: s = “hello World”, 那么返回的结果是5 格式: 第一行输入字符串s,然后输出s中最后一个单词的长度。 样例1 输入: Today is a nice day 输出: 3list1 = [i f原创 2015-09-09 14:41:30 · 459 阅读 · 0 评论 -
计蒜客 第1题: A+B+C问题
这是一个非常简单的题目,意在考察你编程的基础能力。千万别想难了哦。输入为一行,包括了用空格分隔的三个整数A、B、C(数据范围均在-40~40之间)。输出为一行,为“A+B+C”的计算结果。样例1输入:22 1 3输出:26# coding=utf-8input = raw_input()numlist = input.split(' ')p原创 2015-09-09 13:58:17 · 1634 阅读 · 0 评论 -
计蒜客 第2题:整除问题
判断一个数是否能被另一个整数整除是一个挺简单的问题,一般一个模运算就可以搞定了,懒惰的晓萌还是不想自己做,于是找到你帮他写代码,你就帮帮他吧。输入包括两个由空格分开的整数M和N(1≤M,N≤500)。输出包括一行,如果M可以被N整除就输出YES,否则输出NO(结果大小写敏感)。样例1输入:21 7输出:YESshuru = raw原创 2015-09-09 14:01:15 · 679 阅读 · 0 评论 -
计蒜客 第3题:判断质数
对于大于1的数,如果除了1和它本身,它不能再被其它正整数整除,那么我们说它是一个质数。晓萌想判断一个数是不是质数,希望找你写个程序,帮助她进行判断。输入包括一行,为一个整数N(1 输出包括一行,如果晓萌给出的整数N为质数,那么输出YES;如果N不是质数,那么输出NO。样例1输入:3输出:YES# coding=utf-8de原创 2015-09-09 14:06:54 · 581 阅读 · 0 评论 -
计蒜客 第4题:简单斐波那契
斐波那契数列是一种非常有意思的数列,由 0 和 1 开始,之后的斐波那契系数就由之前的两数相加。用数学公式定义斐波那契数列则可以看成如下形式:F0=0F1=1Fn=Fn-1+Fn-2我们约定Fn表示斐波那契数列的第n项,你能知道斐波那契数列中的任何一项吗?输入包括一行,包括一个数字N(0≤N≤50)。输出包括一行,包括一个数字,为斐波那契数列的第N项的值。样例1原创 2015-09-09 14:11:58 · 817 阅读 · 0 评论 -
计蒜客 第5题:矩阵翻转
晓萌最近在做一个翻转图片的应用,你可能也知道,图片其实是由一个个的点组成的。于是,晓萌想先做一个可以翻转矩阵的程序,来解决他问题的核心部分。 输入第一行包括由空格分开的整数M、N、T(0 < M < 200,0 < N < 200,T=0或1),其中M和N分别表示待处理矩阵的行数与列数,T为0时表示左右翻转,为1时表示上下翻转。 之后的M行,每行包括由空格分隔的N个整数,依次为输入矩阵的每一行的原创 2015-09-09 14:14:51 · 565 阅读 · 0 评论 -
计蒜客 第6题:泥塑课
小米是一个幼儿园老师,每学期的泥塑课上,她都会给每个学生发不超过250立方厘米的等量橡皮泥,教大家做泥塑。在上课过程中,她发现每个班都恰好有一个小朋友会去抢另一个小朋友的橡皮泥,于是她决定,在正式开始做泥塑前,让大家把手里的橡皮泥都捏成一个立方体,并且测量手里捏好的橡皮泥的长、宽和高。这样,她就可以知道谁被谁抢了橡皮泥了。 小米老师在不同的学期可能会带一个班或者同时带多个班,因此输入数据可能有一组原创 2015-09-09 14:23:06 · 537 阅读 · 0 评论 -
计蒜客 第8题:字符串长度
在右侧我们给出了一个已经基本完成的程序,读入了一个字符串,调用了一个叫str_len的函数来计算这个字符串的长度,并输出。 聪明的你应该已经发现了,这个叫str_len的函数并没有完成,在不修改函数原型的情况下,请完成str_len函数,实现我们上述的功能吧。 样例1 输入: abcdefg 输出: 7def str_len(str): return len(str)s = ra原创 2015-09-09 14:34:02 · 630 阅读 · 0 评论 -
计蒜客 第10题:寻找插入位置
给定一个已经升序排好序的数组,以及一个数target,如果target在数组中,返回它在数组中的位置。否则,返回target插入数组后它应该在的位置。 假设数组中没有重复的数。以下是简单的示例: [1,3,5,6], 5 → 2 [1,3,5,6], 2 → 1 [1,3,5,6], 7 → 4 [1,3,5,6], 0 → 0 提示:输入一个整数n,以及其对应的数组A[n],最后输入t原创 2015-09-09 14:37:16 · 395 阅读 · 0 评论 -
计蒜客 第16题:爬楼梯
假设你现在正在爬楼梯,楼梯有n级。每次你只能爬1级或者2级,那么你有多少种方法爬到楼梯的顶部? 格式: 第一行输入一个数n(n<=50),代表楼梯的级数。 接下来一行输出你的方法总数。 样例1 输入: 5 输出: 8num1 = int(raw_input())a=1b=2if num1==1: print 1if num1==2: print 2原创 2015-09-09 14:46:01 · 1118 阅读 · 0 评论