基础算法
Harold_96_lxw
蛰伏,打磨技术,厚积薄发
展开
-
退格字符串问题
**退格字符串问题**遇到#删除自己和他前一个字符,如下举例:"abc#d##c" =>"ac""abc##d######" =>"""#######" =>"""" =>""def t6(s): res=[] for i in s: if i=='#' and res: res.pop() else: res.append(i) print(''原创 2020-10-06 20:30:37 · 46604 阅读 · 0 评论 -
python 数组按反对角线顺序输出
题目简述:加入有一个3行4列的数字1,2,3,45,6,7,89,10,11,12要按1,2,5,3,6,9,4,7,10,8,11,12的顺序输出输入样例样例:241,2,3,4,5,6,7,8输出样例:1 2 5 3 6 4 7 8思路:一开始我想到是弄成2维数组,m,n记录遍历位置,越界后返回合法位置继续遍历,后来我想到了一种巧妙思路仔细观察不难发现遍历的时候越界...原创 2018-12-14 15:59:54 · 47164 阅读 · 0 评论 -
约瑟夫环问题
问题描述: N个人围成一圈,从第一个开始报数,第M个将淘汰,退出圈外,重复上述过程n-1次,最后剩下一个,最后留下来的人获胜。求出最后获胜者的编号。 if __name__ == '__main__': n = input("请输入人数:") n = int(n) m = input("请输入第几个报数的人退出圈子:") m = int(m) s=0...转载 2018-08-04 13:14:08 · 46284 阅读 · 0 评论 -
蓝桥杯之荒岛分金币问题另辟蹊径解法
蓝桥杯之荒岛分金币问题另辟蹊径解法题目简要说明:有5个海盗,相约进行一次帆船比赛。比赛中天气发生突变,他们被冲散了。恰巧,他们都先后经过途中的一个无名的荒岛,并且每个人都信心满满,觉得自己是第一个经过该岛的人。第一个人在沙滩上发现了一堆金币。他把金币分成5等份。发现刚好少一个金币。他就从自己口袋拿出一个金币补充进去,然后把属于自己的那份拿走。第二个到达的人也看到了金币,他...原创 2018-08-01 21:15:59 · 47151 阅读 · 4 评论 -
0-7共8个数字能组成多少个奇数(暴力之王)
if __name__ == '__main__': count=0 for i in range(0,100000001): if i%2!=0 and str(i).find('8')==-1 and str(i).find('9')==-1: count+=1 print(count)原创 2018-09-04 20:21:25 · 47422 阅读 · 1 评论 -
字符串处理之3n5f2c变化成nnnfffffcc
def nge(n,s): return s*nif name == ‘main‘: re=[] s=input(“请输入字符串>”) for i in s: if i.isnumeric(): re.append(nge(int(i)-1,s[s.index(i)+1])) else:...原创 2018-09-03 20:43:39 · 46483 阅读 · 0 评论 -
身份证的奥秘——第18位的由来
1.问题描述: 身份证校验码的计算方法1、将前面的身份证号码17位数分别乘以不同的系数。从第一位到第十七位的系数分别为:7-9-10-5-8-4-2-1-6-3-7-9-10-5-8-4-2。2、将这17位数字和系数相乘的结果相加。3、用加出来和除以11,看余数是多少?4、余数只可能有0-1-2-3-4-5-6-7-8-9-10这11个数字。其分别对应的最后一位身份证的号码为1-...原创 2018-09-03 20:41:26 · 48428 阅读 · 0 评论 -
博弈论问题
**博弈论问题——双人取自己**1.问题描述一共有19枚棋子,两人轮流取,每人每次可以取1枚或2枚或3枚,己方先取,拿到最后一枚棋子算输,问何种取法可以保证己方获胜。2.分析过程及答案博弈论问题的精髓在于控制局面,但是先手是无法控制的,这个问题看似先手,实则可以看成第一次取了以后的后手。每人每次可以取1枚或2枚或3枚,那么两人一轮最少可以取2枚,最多6枚,但是为了控制局面,一定要根据...原创 2019-08-15 09:10:29 · 47149 阅读 · 0 评论