Skip to content

Latest commit

 

History

History
136 lines (105 loc) · 3.21 KB

File metadata and controls

136 lines (105 loc) · 3.21 KB

中文文档

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

Python3

class Solution:
    def largestGoodInteger(self, num: str) -> str:
        for i in range(9, -1, -1):
            t = str(i) * 3
            if t in num:
                return t
        return ''

Java

class Solution {
    public String largestGoodInteger(String num) {
        for (int i = 9; i >= 0; i--) {
            String ret = String.valueOf(i).repeat(3);
            if (num.contains(ret)) {
                return ret;
            }
        }
        return "";
    }
}

TypeScript

function largestGoodInteger(num: string): string {
    for (let i = 9; i >= 0; i--) {
        const c = String(i).repeat(3);
        if (num.includes(c)) return c;
    }
    return '';
}

C++

class Solution {
public:
    string largestGoodInteger(string num) {
        for (char i = '9'; i >= '0'; --i) {
            string t(3, i);
            if (num.find(t) != string::npos) return t;
        }
        return "";
    }
};

Go

func largestGoodInteger(num string) string {
	for c := '9'; c >= '0'; c-- {
		t := strings.Repeat(string(c), 3)
		if strings.Contains(num, t) {
			return t
		}
	}
	return ""
}

...