news 2026/9/10 11:06:47

LC.846 | 一手顺子 | 有序集合| map计数

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
LC.846 | 一手顺子 | 有序集合| map计数

输入:

  • 整数数组hand表示手里的牌面值
  • 整数groupSize表示每组顺子的长度

要求:

  • 把所有牌分成若干组
  • 每组必须是groupSize连续
  • 能分完返回true,否则false

输出:

  • bool

思路:

这题的关键不是“怎么凑一组顺子”,而是:如果能成功分组,最小的牌一定只能作为某个顺子的起点(它不可能被更小的牌带着走,因为没有更小的了)。

所以策略很直接:

  1. 如果hand.size() % groupSize != 0,直接不可能。

  2. map<int,int> count统计每种牌出现次数(map自动按牌面升序)。

  3. map.begin()开始扫每个牌startCard

  • num = count[startCard],表示当前这个牌还剩多少张没被用掉。
  • 如果num > 0,说明我们必须以startCard作为起点,开num个顺子:
    • 需要把[startCard, startCard+1, ..., startCard+groupSize-1]每个牌都扣掉num
    • 若其中某张牌数量不足(count[currentCard] < num),直接失败
  1. 扫完不失败就成功。

这个贪心的本质是:先把最小牌“安置掉”,否则后面无论怎么分组它都会卡死。


复杂度:

  • 时间复杂度:O(N log N)
    • map和后续访问都是log
  • 空间复杂度:O(N)(计数表)

classSolution{public:boolisNStraightHand(vector<int>&hand,intgroupSize){if((int)hand.size()%groupSize!=0)returnfalse;map<int,int>count;for(intx:hand){count[x]++;}for(autoit=count.begin();it!=count.end();++it){intstartCard=it->first;intnum=it->second;if(num>0){for(inti=0;i<groupSize;++i){intcur=startCard+i;if(count[cur]<num)returnfalse;count[cur]-=num;}}}returntrue;}};
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/8 7:13:44

Jupyter Notebook保存检查点:防止PyTorch训练中断丢失

Jupyter Notebook保存检查点&#xff1a;防止PyTorch训练中断丢失 在深度学习的世界里&#xff0c;最让人崩溃的瞬间之一莫过于——你花了整整三天训练一个Transformer模型&#xff0c;GPU风扇呼啸了72小时&#xff0c;结果因为一次意外断电、内核崩溃或者远程连接中断&#x…

作者头像 李华
网站建设 2026/9/2 23:29:07

大模型Token缓存机制优化响应速度

大模型Token缓存机制优化响应速度 在构建智能对话系统时&#xff0c;你是否遇到过这样的问题&#xff1a;用户输入一个问题后&#xff0c;模型“思考”了许久才吐出第一个字&#xff1f;尤其是在生成长文本时&#xff0c;这种延迟变得愈发明显。这并非模型“笨”&#xff0c;而…

作者头像 李华
网站建设 2026/9/8 3:56:09

YOLO与Kubernetes集成:大规模集群部署的最佳实践

YOLO与Kubernetes集成&#xff1a;大规模集群部署的最佳实践 在智能制造工厂的质检线上&#xff0c;数百个摄像头实时回传高清视频流&#xff1b;在城市交通大脑中&#xff0c;成千上万路监控信号需要毫秒级响应——这些场景背后&#xff0c;是对目标检测系统前所未有的并发与稳…

作者头像 李华
网站建设 2026/9/5 7:28:11

CNN模型训练中断?检查你的CUDA驱动与PyTorch兼容性

CNN模型训练中断&#xff1f;检查你的CUDA驱动与PyTorch兼容性 在深度学习项目中&#xff0c;最令人沮丧的场景之一莫过于&#xff1a;你精心设计了一个CNN模型&#xff0c;数据也准备妥当&#xff0c;训练脚本刚跑几分钟&#xff0c;突然报错退出——CUDA error: out of memor…

作者头像 李华
网站建设 2026/9/3 3:09:46

GitHub 热榜项目 - 日榜(2025-12-28)

GitHub 热榜项目 - 日榜(2025-12-28) 生成于&#xff1a;2025-12-28 统计摘要 共发现热门项目&#xff1a; 9 个 榜单类型&#xff1a;日榜 本期热点趋势总结 本期GitHub趋势显示&#xff0c;AI智能体与RAG应用开发依然是绝对热点。项目集中于解决大模型实际落地的关键痛点…

作者头像 李华
网站建设 2026/9/6 18:09:06

如何撰写高转化率的技术博客推广GPU与Token销售

如何通过技术内容高效推广GPU算力与Token服务 在AI研发节奏不断加快的今天&#xff0c;一个令人头疼的问题依然普遍存在&#xff1a;开发者花了半天时间配置环境&#xff0c;结果torch.cuda.is_available()还是返回False。驱动版本不对、CUDA不兼容、cudNN缺失……这些琐碎的技…

作者头像 李华