2017网易内推编程题(判断单词):解答代码
生活随笔
收集整理的這篇文章主要介紹了
2017网易内推编程题(判断单词):解答代码
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
小易喜歡的單詞具有以下特性:
1.單詞每個字母都是大寫字母
2.單詞沒有連續相等的字母
3.單詞沒有形如“xyxy”(這里的x,y指的都是字母,并且可以相同)這樣的子序列,子序列可能不連續。
例如:
小易不喜歡”ABBA”,因為這里有兩個連續的’B’
小易不喜歡”THETXH”,因為這里包含子序列”THTH”
小易不喜歡”ABACADA”,因為這里包含子序列”AAAA”
小易喜歡”A”,”ABA”和”ABCBA”這些單詞 給你一個單詞,你要回答小易是否會喜歡這個單詞。
輸入描述:
輸入為一個字符串,都由大寫字母組成,長度小于100
輸出描述:
如果小易喜歡輸出”Likes”,不喜歡輸出”Dislikes”
輸入例子:
AAA
輸出例子:
Dislikes
解答代碼:
# -*- coding:utf-8 -*- # 2016/8/19 # mail:ybs.kakashi@gmail.com from collections import defaultdictinput_words = raw_input("please input your words:\n") checkers = list()def check_1(words):if words.islower() is True:return Falseif words.upper() == words:return Truereturn Falsedef check_2(words):index_dic = defaultdict(list)for i, j in enumerate(words):index_dic[j].append(i)for e in index_dic.keys():if len(index_dic[e]) != 2:del index_dic[e]temp = [0 for x in range(len(words))]for i, j in enumerate(words):if j in index_dic.keys():temp[i] = jtemp = [x for x in temp if x != 0]return not check_3(temp)def check_3(words):temp = list()for each in words:if len(temp) == 0:temp.append(each)continueif temp.pop() == each:return Falseelse:temp.append(each)return Truecheckers.extend((check_1, check_3, check_2))for each in checkers:if not each(input_words):print "Dislike", " by " + str(each)exit(0) print "like"?
轉載于:https://my.oschina.net/u/2504425/blog/735031
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的2017网易内推编程题(判断单词):解答代码的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 使用for循环打印出大写字母的ASCII
- 下一篇: Oracle查看锁表