网易2017内推笔试2:小易喜欢的单词 [python]
来源:互联网 发布:高性能数据库服务器 编辑:程序博客网 时间:2024/05/19 02:06
'''
[编程题] 小易喜欢的单词
时间限制:1秒
空间限制:32768K
小易喜欢的单词具有以下特性:
1.单词每个字母都是大写字母
2.单词没有连续相等的字母
3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续。
例如:
小易不喜欢"ABBA",因为这里有两个连续的'B'
小易不喜欢"THETXH",因为这里包含子序列"THTH"
小易不喜欢"ABACADA",因为这里包含子序列"AAAA"
小易喜欢"A","ABA"和"ABCBA"这些单词
给你一个单词,你要回答小易是否会喜欢这个单词。
输入描述:
输入为一个字符串,都由大写字母组成,长度小于100
输出描述:
如果小易喜欢输出"Likes",不喜欢输出"Dislikes"
输入例子1:
AAA
输出例子1:
Dislikes
'''
'''
解题思路:动态规划
条件二判断很简单,不阐述
条三件判断:
1、遍历取出字符串前n-2位子串中任意一个长度为2的子串1,根据子串1中第二个字母的位置,把字符串切割该字母前(包括该字母)
和该字母后两部分,取后一部分记为子串2
2、利用动态规划计算子串1和子串2公共子串的长度,若长度为2,则不满足条件三。 动态规划部分可参见《算法图解》一书
'''
'''
代码运行结果:
答案正确:恭喜!您提交的程序通过了所有的测试用例
[编程题] 小易喜欢的单词
时间限制:1秒
空间限制:32768K
小易喜欢的单词具有以下特性:
1.单词每个字母都是大写字母
2.单词没有连续相等的字母
3.单词没有形如“xyxy”(这里的x,y指的都是字母,并且可以相同)这样的子序列,子序列可能不连续。
例如:
小易不喜欢"ABBA",因为这里有两个连续的'B'
小易不喜欢"THETXH",因为这里包含子序列"THTH"
小易不喜欢"ABACADA",因为这里包含子序列"AAAA"
小易喜欢"A","ABA"和"ABCBA"这些单词
给你一个单词,你要回答小易是否会喜欢这个单词。
输入描述:
输入为一个字符串,都由大写字母组成,长度小于100
输出描述:
如果小易喜欢输出"Likes",不喜欢输出"Dislikes"
输入例子1:
AAA
输出例子1:
Dislikes
'''
'''
解题思路:动态规划
条件二判断很简单,不阐述
条三件判断:
1、遍历取出字符串前n-2位子串中任意一个长度为2的子串1,根据子串1中第二个字母的位置,把字符串切割该字母前(包括该字母)
和该字母后两部分,取后一部分记为子串2
2、利用动态规划计算子串1和子串2公共子串的长度,若长度为2,则不满足条件三。 动态规划部分可参见《算法图解》一书
'''
'''
代码运行结果:
答案正确:恭喜!您提交的程序通过了所有的测试用例
'''
string = input()length = len(string)def condition1(s): for i in range(length-1): if s[i] == s[i+1]: return False return Truedef condition2(s): def judge(s1, s2): temp_len = len(s2) dp = [0]*(temp_len+1) for each in s1: dp_ = [0]*(temp_len+1) for bit in range(temp_len): if each == s2[bit]: dp_[bit+1] = dp[bit] + 1 else: dp_[bit+1] = max(dp_[bit], dp[bit+1]) dp = dp_ if dp[temp_len] == 2: return False else: return True for i in range(1, length-2): for j in range(i): if not judge(s[j]+s[i], s[i+1:]): return False return Trueif condition1(string) and condition2(string): print('Likes')else: print('Dislikes')
阅读全文
0 0
- 网易2017内推笔试2:小易喜欢的单词 [python]
- 网易2017内推笔试2:解救小易 [python]
- 网易2017内推笔试2:饥饿的小易 [python]
- 8.12网易内推笔试题:小易喜欢的数列 java实现
- 【网易2017内推笔试】小易记单词
- 网易笔试题:小易喜欢的单词
- 网易笔试编程-小易喜欢的单词
- 网易2017内推笔试2:幸运的袋子 [python]
- 2018年网易内推-----小易喜欢的数字
- 网易2017内推 [编程题]小易喜欢的数列
- 网易 小易喜欢的单词
- 网易—小易喜欢的单词
- 网易2017内推笔试2:Fibonacci数列 [python]
- 网易2017内推笔试2:不要二 [python]
- 网易2017内推笔试2:数字游戏 [python]
- 网易2017内推笔试2:混合颜料 [python]
- 网易2017内推笔试2:统计回文 [python]
- 网易2017内推笔试题--小易老师的疯狂数列
- Mybatis学习总结(一)
- Unsupported major.minor version 51.0 (unable to load class org.test.luntan.util.SessionClear)
- AIX 常用命令
- python time模块
- 唯快不破:TCP网络关闭状态变换时序图
- 网易2017内推笔试2:小易喜欢的单词 [python]
- 深度学习框架TensorFlow学习与应用(四)——拟合问题、优化器
- 将Qt、OpenGL、GLSL以及Qt的Graphics-View框架结合
- centos7安装jdk8
- spring boot加载自定义配置源
- Android中IntentService的原理及使用
- 一次生产问题排查解决过程(小问题,大神请绕过)
- 理解Android中的Gradle
- Qt将按钮变透明的方法