#牛客堂直播视频#经典动态规划题目大串讲(2015.8.5)

 
预习课程:http://www.nowcoder.com/discuss/1820,即经典算法题精讲(八)-从斐波那契数列学习矩阵乘法的优化技巧、从暴力递归到动态规划

【本期题目】 
题目在线练习地址:http://www.nowcoder.com/test/123743/summary
1、字符串的交错组成
【题目】
给定三个字符串str1、str2和aim。如果aim包含且仅包含来自str1和str2的所有字符,而且在aim中属于str1的字符之间保持原来在str1中的顺序,属于str2的字符之间保持原来在str2中的顺序,那么称aim是str1和str2的交错组成。实现一个函数,判断aim是否是str1和str2交错组成。
【举例】
str1=“AB”,str2=“12”。那么“AB12”、“A1B2”、“A12B”、“1A2B”和“1AB2”等等都是str1和str2交错组成。

2、表达式得到期望结果的组成种数
【题目】
给定一个只由0(假)、1(真)、&(逻辑与)、|(逻辑或)和^(异或)五种字符组成的字符串express,再给定一个布尔值desired。返回express能有多少种组合方式,可以达到desired的结果。
【举例】
express=“1^0|0|1”,desired=false。
只有1^((0|0)|1)和1^(0|(0|1))的组合可以得到false。返回2。
express=“1”,desired=false。
没有组合可以得到false。返回0。

3、排成一条线的纸牌博弈问题
【题目】
给定一个整型数组arr,代表数值不同的纸牌排成一条线。玩家A和玩家B依次拿走每张纸牌,规定玩家A先拿,玩家B后拿,但是每个玩家每次只能拿走最左或最右的纸牌,玩家A和玩家B都绝顶聪明。请返回最后获胜者的分数。
【举例】
arr=[1,2,100,4]。
开始时玩家A只能拿走1或4。如果玩家A拿走1,则排列变为[2,100,4],接下来玩家B可以拿走2或4,然后继续轮到玩家A。如果开始时玩家A拿走4,则排列变为[1,2,100],接下来玩家B可以拿走1或100,然后继续轮到玩家A。玩家A作为绝顶聪明的人不会先拿4,因为拿了4之后玩家B将拿走100。所以玩家A会先拿1,让排列变为[2,100,4],接下来玩家B不管怎么选,100都会被玩家A拿走。玩家A会获胜,分数为101。所以返回101。
arr=[1,100,2]。
开始时玩家A不管拿1还是2,玩家B作为绝顶聪明的人,都会把100拿走。玩家B会获胜,分数为100。所以返回100。

4、字符串匹配问题
【题目】
给定字符串str,其中绝对不含有字符’.’和’*’。再给定字符串exp,其中可以含有’.’或’*’,’*’字符不能是exp的首字符,并且任意两个’*’字符不相邻。exp中的’.’代表任何一个字符,exp中的’*’表示’*’的前一个字符可以有0个或者多个。请写一个函数,判断str是否能被exp匹配。
【举例】
str=“abc”,exp=“abc”。返回true。
str=“abc”,exp=“a.c”。exp中单个’.’可以代表任意字符,所以返回true。
str=“abcd”,exp=“.*”。exp中’*’的前一个字符是’.’,所以可表示任意数量的’.’字符,所以当exp是“....”时与“abcd”匹配,所以返回true。
str=“”,exp=“..*”。exp中’*’的前一个字符是’.’,可表示任意数量的’.’字符,但是”.*”之前还有一个’.’字符,该字符不受‘*’的影响,所以str起码得有一个字符才能被exp匹配。所以返回false。

注:下面回帖给出了源代码供参考。

【分享嘉宾介绍】
左程云
华中科技大学本科--计算机科学与技术专业、 芝加哥大学硕士--计算机科学专业
IBM软件工程师、 百度软件工程师、 刷题5年的算法热爱者
《程序员代码面试指南--IT名企算法与数据结构题目最优解》 作者,电子工业出版社7月底将出版发行,书籍涉及算法与数据结构编程题目240道以上,并且个人实现出最优解,大部分题目为面试高频题

【参与牛客堂直播】
每周三晚8:00~9:30,直播页面http://www.nowcoder.com/live/courses

【直播题目讨论】
加入牛客5群272820159
全部评论
真的吗/
点赞 回复 分享
发布于 2020-08-21 20:59
看看!!!
点赞 回复 分享
发布于 2020-04-16 16:13
动态规划真的难
点赞 回复 分享
发布于 2017-10-28 10:34
回帖才能看到????????????
点赞 回复 分享
发布于 2017-10-08 17:44
求源代码
点赞 回复 分享
发布于 2017-09-13 21:32
能看不
点赞 回复 分享
发布于 2017-09-05 18:08
想看源码
点赞 回复 分享
发布于 2017-09-05 17:28
1111
点赞 回复 分享
发布于 2017-09-05 15:42
会一个
点赞 回复 分享
发布于 2017-04-10 23:00
怎么看视频呢
点赞 回复 分享
发布于 2017-04-09 23:31
我也很想看
点赞 回复 分享
发布于 2017-04-07 21:09
大赞
点赞 回复 分享
发布于 2017-04-02 13:18
太牛了
点赞 回复 分享
发布于 2017-03-20 16:19
视频呢,怎么看啊
点赞 回复 分享
发布于 2017-03-20 11:52
求视频
点赞 回复 分享
发布于 2017-03-19 18:51
怎么看
点赞 回复 分享
发布于 2017-03-19 18:45
要回帖才能看到视频吗?
点赞 回复 分享
发布于 2017-03-19 17:09
代码呢
点赞 回复 分享
发布于 2016-09-18 14:43
大爱左老师!!!
点赞 回复 分享
发布于 2016-03-09 22:09
看看
点赞 回复 分享
发布于 2016-01-28 17:06

相关推荐

06-26 10:08
门头沟学院 C++
北京Golang实习,一个月4700,吃住都不报,公司位置在海淀。请问友友怎么看呢?如果要租房的话有什么建议吗
码农索隆:租房肯定是合租了,剩下的钱,差不多够正常吃饭了,看看能不能学到东西吧
点赞 评论 收藏
分享
06-05 19:46
已编辑
武汉大学 后端
点赞 评论 收藏
分享
争当牛马还争不上
码农索隆:1.把简历改哈 2.猛投,狠投 3.把基础打牢 这样你在有机会的时候,才能抓住
点赞 评论 收藏
分享
评论
点赞
65
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务