返回介绍

solution / 2200-2299 / 2264.Largest 3-Same-Digit Number in String / README_EN

发布于 2024-06-17 01:03:08 字数 4000 浏览 0 评论 0 收藏 0

2264. Largest 3-Same-Digit Number in String

中文文档

Description

You are given a string num representing a large integer. An integer is good if it meets the following conditions:

  • It is a substring of num with length 3.
  • It consists of only one unique digit.

Return _the maximum good integer as a string or an empty string _""_ if no such integer exists_.

Note:

  • A substring is a contiguous sequence of characters within a string.
  • There may be leading zeroes in num or a good integer.

 

Example 1:

Input: num = "6777133339"
Output: "777"
Explanation: There are two distinct good integers: "777" and "333".
"777" is the largest, so we return "777".

Example 2:

Input: num = "2300019"
Output: "000"
Explanation: "000" is the only good integer.

Example 3:

Input: num = "42352338"
Output: ""
Explanation: No substring of length 3 consists of only one unique digit. Therefore, there are no good integers.

 

Constraints:

  • 3 <= num.length <= 1000
  • num only consists of digits.

Solutions

Solution 1: Enumeration

We can enumerate each digit $i$ from large to small, where $0 \le i \le 9$, and then check whether the string $s$ consisting of three consecutive $i$ is a substring of $num$. If it is, we directly return $s$.

If we have enumerated all the possible values of $i$ and still haven't found a substring that satisfies the condition, we return an empty string.

The time complexity is $O(10 \times n)$, where $n$ is the length of the string $num$. The space complexity is $O(1)$.

class Solution:
  def largestGoodInteger(self, num: str) -> str:
    for i in range(9, -1, -1):
      if (s := str(i) * 3) in num:
        return s
    return ""
class Solution {
  public String largestGoodInteger(String num) {
    for (int i = 9; i >= 0; i--) {
      String s = String.valueOf(i).repeat(3);
      if (num.contains(s)) {
        return s;
      }
    }
    return "";
  }
}
class Solution {
public:
  string largestGoodInteger(string num) {
    for (char i = '9'; i >= '0'; --i) {
      string s(3, i);
      if (num.find(s) != string::npos) {
        return s;
      }
    }
    return "";
  }
};
func largestGoodInteger(num string) string {
  for c := '9'; c >= '0'; c-- {
    if s := strings.Repeat(string(c), 3); strings.Contains(num, s) {
      return s
    }
  }
  return ""
}
function largestGoodInteger(num: string): string {
  for (let i = 9; i >= 0; i--) {
    const s = String(i).repeat(3);
    if (num.includes(s)) {
      return s;
    }
  }
  return '';
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文