LeetCode第 292 场周赛
题目:
给你一个字符串 num ,表示一个大整数。如果一个整数满足下述所有条件,则认为该整数是一个 优质整数 :
该整数是 num 的一个长度为 3 的 子字符串 。
该整数由唯一一个数字重复 3 次组成。
以字符串形式返回 最大的优质整数 。如果不存在满足要求的整数,则返回一个空字符串 "" 。
注意:
子字符串 是字符串中的一个连续字符序列。
num 或优质整数中可能存在 前导零 。
示例 1:
1 2 3 4 | 输入:num = "6777133339" 输出: "777" 解释:num 中存在两个优质整数: "777" 和 "333" 。 "777" 是最大的那个,所以返回 "777" 。 |
示例 2:
1 2 3 | 输入:num = "2300019" 输出: "000" 解释: "000" 是唯一一个优质整数。 |
示例3:
1 2 3 | 输入:num = "42352338" 输出: "" 解释:不存在长度为 3 且仅由一个唯一数字组成的整数。因此,不存在优质整数。 |
提示:
•3 <= num.length <= 1000
•num 仅由数字(0 - 9)组成
题目分析:这是一道简单算法题,通过使用substring()方法提取字符串中介于两个指定下标之间的字符。
class Solution { public boolean less(String s, String t) { return s.charAt(0) < t.charAt(0); } public String largestGoodInteger(String num) { if(num.length() <= 2) return ""; String s = "000"; boolean found = false; for (int i = 0; i < num.length() - 2; i++) { if (num.charAt(i) == num.charAt(i + 1) && num.charAt(i + 1) == num.charAt(i + 2)) { found = true; String t = num.substring(i, i + 3); if (less(s, t)) s = t; } } if (found == false) s = ""; return s; } }
代码执行结果:
来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/largest-3-same-digit-number-in-string
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。
作者:cszcoder
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须在文章页面给出原文链接,否则保留追究法律责任的权利。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 在鹅厂做java开发是什么体验
· 百万级群聊的设计实践
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
· 永远不要相信用户的输入:从 SQL 注入攻防看输入验证的重要性
· 全网最简单!3分钟用满血DeepSeek R1开发一款AI智能客服,零代码轻松接入微信、公众号、小程