3자리 짝수 찾기
digits
이 제공됩니다. 배열에 중복이 포함될 수 있습니다.주어진 요구 사항을 따르는 모든 고유 정수를 찾아야 합니다.
digits
의 세 요소를 연결하여 구성됩니다. 예를 들어 주어진
digits
가 [1, 2, 3]
인 경우 정수 132
및 312
는 요구 사항을 따릅니다.고유 정수의 정렬된 배열을 반환합니다.
예 1:
입력: 숫자 = [2,1,3,0]
출력: [102,120,130,132,210,230,302,310,312,320]
설명: 요구 사항을 따르는 가능한 모든 정수가 출력 배열에 있습니다.
선행 0이 있는 홀수 정수 또는 정수가 없음에 유의하십시오.
예 2:
입력: 숫자 = [2,2,8,8,2]
출력: [222,228,282,288,822,828,882]
설명: 같은 숫자는 숫자에 나타나는 만큼 여러 번 사용할 수 있습니다.
이 예에서 숫자 8은 288, 828 및 882에서 매번 두 번 사용됩니다.
예 3:
입력: 숫자 = [3,7,5]
출력: []
설명: 주어진 숫자를 사용하여 짝수 정수를 만들 수 없습니다.
제약:
3 <= digits.length <= 100
0 <= digits[i] <= 9
해결책:
import bisect
class Solution:
def findEvenNumbers(self, digits: List[int]) -> List[int]:
n = len(digits)
f = [i for i in range(n) if digits[i] != 0]
s = [i for i in range(n)]
t = [i for i in range(n) if digits[i] in {0, 2, 4, 6, 8}]
nums = []
for i in f:
for j in s:
if i == j:
continue
for k in t:
if i != k and j != k:
val = 100 * digits[i] + 10 * digits[j] + digits[k]
pos = bisect.bisect_left(nums, val)
if pos >= len(nums) or nums[pos] != val:
bisect.insort(nums, val)
return nums
Reference
이 문제에 관하여(3자리 짝수 찾기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/theabbie/finding-3-digit-even-numbers-3bpc텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)