题目描述
LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张牌就可以变成“1,2,3,4,5”(大小王分别看作2和4),“So Lucky!”。LL决定去买体育彩票啦。 现在,要求你使用这幅牌模拟上面的过程,然后告诉我们LL的运气如何。为了方便起见,你可以认为大小王是0。
/*顺子满足的条件:max-min<5;
除0外其他的数字都不能重复
传入的数组放5个元素*/
class Solution { public: bool IsContinuous( vector<int> numbers ) { if(numbers.empty()) return 0; int count[14]={0}; int len=numbers.size(); int max=-1; int min=14; for(int i=0;i<len;i++) { count[numbers[i]]++; if(numbers[i]==0) continue; if(count[numbers[i]]>1) return 0; if(numbers[i]>max) max=numbers[i]; if(numbers[i]<min) min=numbers[i]; } if(max-min<5) return 1; return 0; } };
class Solution { public: bool IsContinuous( vector<int> numbers ) { sort(numbers.begin(),numbers.end()); for(int i = 1;i < numbers.size();i++) { if(numbers[i] && numbers[i] == numbers[i-1]) { return false; } } for(int i = 0;i < numbers.size();i++) { if(numbers[i]) { if(numbers.back()-numbers[i]<=4) { return true; } else { return false; } } } return false; } };
Java代码
必须满足两个条件
1. 除0外没有重复的数
2. max - min < 5
public class Solution { public boolean isContinuous(int [] numbers) { if(numbers.length != 5) return false; int min = 14; int max = -1; int flag = 0; for(int i = 0; i < numbers.length; i++) { int number = numbers[i]; if(number < 0 || number > 13) return false; if(number == 0) continue; if(((flag >> number) & 1) == 1) return false; flag |= (1 << number); if(number > max) max = number; if(number < min) min = number; if(max - min >= 5) return false; } return true; } }
拥抱明天!
不给自己做枷锁去限制自己。
别让时代的悲哀,成为你人生的悲哀。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(四):结合BotSharp
· 一个基于 .NET 开源免费的异地组网和内网穿透工具
· 《HelloGitHub》第 108 期
· Windows桌面应用自动更新解决方案SharpUpdater5发布
· 我的家庭实验室服务器集群硬件清单