def IsContinuous(seq, num = 5):
zeros = 0; d = 0
seq = sorted(seq)
for i in range(num - 1):
if seq[i] == 0:
zeros += 1
continue
if seq[i] == seq[i + 1]:
return False
d += seq[i + 1]...
分类:
其他好文 时间:
2014-07-04 07:11:20
阅读次数:
171
题目:从扑克牌中随机抽取5张牌,判断是不是一个顺子,即这5张牌是不是连续的2-10为数字本身,A为1,J为11,Q为12,K为13,大小王可以替换任意数字题解分析:step1. 首先大小王看作0,与其他数字都区分开step2. 对这5张牌排序step3. 统计5张牌中0的个数和 相邻数字之间的空缺总...
分类:
其他好文 时间:
2014-06-27 11:12:59
阅读次数:
172
九度上把这道题目改成了一副扑克牌有4张大小王,这里姑且不管它最多几个0,就题目来说,不严谨,很含糊,比如这里没有对顺子给出比较严谨的定义,5个以下的连续数字算是顺子吗?现实中要至少5个才算顺子的,而且如果假设3个牌也算顺子,那如果输入的是3个0呢,这有点太牵强了!看论坛里面好多人吐槽。总之,不管那么多,这道题目无论它怎么坑爹,用剑指offer上的思路写的代码AC是没问题的,因为这里不管你0有多少个(只要不大于数组的长度就可)都OK。
我之前想避开排序,或者开辟哈希数组,就遍历一遍求出最大值,最小值,...
分类:
其他好文 时间:
2014-06-01 15:27:38
阅读次数:
261
出题:要求用递归将一个栈结构的元素内外颠倒;分析:本题再次说明系统栈是程序员最好的帮手,但递归度较高所以时间复杂度较大,可以使用空间换时间的方法(额外数组保存栈元素,然后逆向压入);第一层递归(清空栈元素,并使用系统栈保存):[1,2,3,4,5],栈顶元素为1,将1弹出之后,递归处理[2,3,4,...
分类:
其他好文 时间:
2014-05-27 00:33:08
阅读次数:
445