移动2020面试题:斗地主
发布日期:2021-06-29 21:37:26 浏览次数:2 分类:技术文章

本文共 590 字,大约阅读时间需要 1 分钟。

题意:在互联网上,有一种很流行的扑克牌的玩法,叫”斗地主“,其中有一个规则就是玩家可以出连续的牌,一般要求连续的5张(含)以上,例如:56789.现在要求写一个程序,找出玩家手里最长的连牌。规则如下:

1、为简单起见,只考虑包含1-9数字的牌,不考虑JQKA;
2、假设牌已经排好了顺序,例如:
2334455678;
3、输出连续张数最多的连牌。如果有两个序列长度一样,输出后面那个序列,如:234678,输出678这个序列;
4、输出结果是一个字符串,如”678“、”3456“,数字之间不含空格;
5、字符串长度不超过50。

思路:题意已经很简单,思路就是直接遍历,维护一个最大长度的区间,同时需要记录下当前的状态就可以了。

代码:

public static String doudizhu(String s){
if(s.length()==0) return null; int cur_l=0,cur_r=1;//当前的区间 int max_l=0,max_r=0;//维护的最大区间 int max_len=0,cur_len=1;//维护两个长度 int dp[]=new int[s.length()]; int cnt=0; for(int i=0;i

转载地址:https://dh-butterfly.blog.csdn.net/article/details/109024363 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:正则化理解+负采样理解以及神经网络中的负采样
下一篇:LeetCode704. 二分查找+牛客二分查找

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月20日 06时48分30秒