값이 1인 요소를 하나 이상 포함하는 nums라는 숫자 목록이 있다고 가정합니다. 모든 1이 연속적으로 나타나는지 여부를 확인해야 합니다. 따라서 입력이 nums =[8, 2, 1, 1, 1, 3, 5]와 같으면 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 방문 횟수:=0 숫자의 각 x에 대해 수행 x가 1과 같으면 방문 횟수가 2와 같으면 거짓을 반환 방문 횟수:=1 그렇지 않으면 방문 시 0이 아닌 경우 방문:=2 참을 반환
nums라는 숫자 목록이 있다고 가정하고 배열에서 x + 1도 존재하도록 배열에서 요소 x의 수를 찾아야 합니다. 따라서 입력이 nums =[4, 2, 3, 3, 7, 9]와 같으면 2+1 =3이 있고 3+1 =4가 있고 다른 3이 있기 때문에 출력은 3이 됩니다. 총 3개 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 답변 :=0 c :=숫자로 표시되는 각 요소의 빈도를 포함하는 목록 dlist :=c의 모든 키 목록에서 나온 목록 dlist의 각 i에 대해 수행 0이면 답변 :
크기가 n + 1인 숫자라는 요소 목록이 있다고 가정하고 1, 2, ..., n 범위에서 선택합니다. 우리가 알고 있듯이, 비둘기집 원칙에 따라 중복이 있어야 합니다. 복제본을 찾아야 합니다. 여기서 우리의 목표는 O(n) 시간과 일정한 공간에서 작업을 찾는 것입니다. 따라서 입력이 nums =[2,1,4,3,5,4]와 같으면 출력은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − q :=숫자에 있는 모든 요소의 합 n :=숫자 크기 v :=((n - 1)*(n)/2)의 바닥 리턴 q -
포인트라는 목록에 데카르트 포인트 세트가 있다고 가정합니다. 극각에 따라 분류해야 합니다. 극각은 0과 2*PI 범위에서 다양합니다. 일부 포인트의 극각이 같으면 원점에서 해당 포인트의 거리를 기준으로 정렬합니다. 따라서 입력이 점 =[(1,1), (1,-2),(-2,2),(5,4),(4,5),(2,3),(- 3,4)], 그러면 출력은 [(5, 4), (1, 1), (4, 5), (2, 3), (-3, 4), (-2, 2), (1, -2) ] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 비교기 기능 key()를
두 개의 목록 nums1과 nums2가 있고 여기에서 두 목록의 각 요소는 범위 1에서 6까지입니다. 이제 nums1 또는 nums2에서 숫자를 선택하고 해당 값을 1에서 6 사이의 숫자로 업데이트할 수 있는 작업을 고려합니다. 이 두 배열의 합이 같도록 필요한 최소 연산 수를 찾아야 합니다. 솔루션을 찾을 수 없으면 -1을 반환합니다. 따라서 입력이 nums1 =[1, 4] nums2 =[5, 4, 4]와 같으면 출력은 2가 됩니다. 왜냐하면 nums1에서 6까지 1을 만들 수 있으므로 nums1의 합은 10이기 때문입니다. n
nums라는 숫자 목록이 있다고 가정합니다. nums[i]와 nums[j]가 같도록 쌍 i
숫자 n이 있다고 가정합니다. 우리는 x가 9와 0의 두 자리 숫자로만 구성되고 x가 n의 배수가 되도록 최소 양수 값 x를 찾아야 합니다. 따라서 입력이 n =26과 같으면 출력은 90090이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − m :=9 x :=1 m이 n으로 나누어지지 않는 동안 do x :=x + 1 m :=x의 이진 형식에서 모든 1을 9로 바꿉니다. m을 정수로 반환 예시 이해를 돕기 위해 다음 구현을 살펴보겠습니다. − def solve(n): m = 9 &n
nums라는 숫자 목록이 있다고 가정하고 해당 값과 빈도가 동일한 요소가 있는지 확인해야 합니다. 따라서 입력이 nums =[2,5,7,5,3,5,3,5,9,9,5]와 같으면 5가 5번 나타나므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − nums_c :=nums에 있는 각 요소의 빈도를 포함하는 목록 nums_c의 각 값 i 및 주파수 j에 대해 수행 i가 j와 같으면 참을 반환 거짓을 반환 예시 더 나은 이해를 위해 다음 구현을 살펴보겠습니다. fro
num이라는 요소 목록이 있다고 가정하고 모든 숫자가 짝수 번 나타나는지 여부를 확인해야 합니다. 상수 공간을 사용하여 해결해야 합니다. 따라서 입력이 nums =[8, 9, 9, 8, 5, 5]와 같으면 모든 숫자가 두 번 발생했기 때문에 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 숫자의 크기가 홀수이면 거짓을 반환 목록 번호 정렬 범위 1에서 숫자 크기까지의 i에 대해 nums[i]가 nums[i - 1]과 같으면 숫자[i] :=0, 숫자[i - 1
길이가 최소 2인 nums라는 숫자 목록이 있다고 가정합니다. 목록에서 모든 피크의 인덱스를 찾아야 합니다. 목록은 오름차순으로 정렬됩니다. 지수 i는 −일 때 피크입니다. nums[i + 1], i =0일 때 nums[i - 1] i =n - 1일 때 숫자[i - 1] 숫자[i + 1] 기타 따라서 입력이 nums =[5, 6, 7, 6, 9]와 같다면 출력은 [2, 4]가 됩니다. 인덱스 2의 요소는 2개의 이웃보다 큰 7이고 항목은 7이기 때문입니다. 인덱스 4는 9이며 왼쪽 항목보다 큽니다. 이 문제
n이라는 숫자가 있다고 가정합니다. n이 피보나치 수열에 존재하는지 여부를 확인해야 합니다. 피보나치 수열에서 알 수 있듯이 f(i) =f(i-1) + f(i-2)는 2에서 n까지의 각 i에 대해 f(0) =0, f(1) =1입니다. 따라서 입력이 n =13과 같으면 피보나치 수열의 일부 항이 0, 1, 1, 2, 3, 5, 8, 13, 21, 34이므로 34가 존재하므로 출력은 True가 됩니다. . 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 파이:=0.5 + 0.5 * (5.0)의 제곱근 a :=파이 * n n이
방이라는 숫자 목록과 또 다른 목표 값 t가 있다고 가정합니다. 값이 적어도 t인 방에서 첫 번째 값을 찾아야 합니다. 해당 공간이 없으면 -1을 반환합니다. 따라서 입력이 room =[20, 15, 35, 55, 30] t =30과 같으면 출력은 35가 됩니다. 30은 35보다 작고 이전 방은 대상 30에 충분하지 않기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 방의 각 방에 대해 다음을 수행하십시오. =t이면 반환실 반환 -1 예시 이해를 돕기 위해 다음 구현을 살펴보겠습
모든 항목이 고유하고 오름차순으로 정렬된 nums라는 요소 목록이 있다고 가정하면 nums[i] =i가 되도록 최소 i를 찾아야 합니다. 솔루션을 찾을 수 없으면 -1을 반환합니다. 이 문제를 O(log(n)) 시간 안에 풀어야 합니다. 따라서 입력이 nums =[-4, -1, 2, 3, 8]과 같으면 nums[2] =2와 nums[3] =3이지만 2가 더 작기 때문에 출력은 2가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ret :=-1, lhs :=0, rhs :=숫자 크기 - 1 동안 lhs
소문자로 된 문자열 s가 있다고 가정합니다. 다른 위치에서 s의 다른 부분 문자열이 있어야 하는 s의 모든 부분을 찾아야 합니다. 이는 취한 부분 문자열의 아나그램입니다. 사전순으로 하위 문자열 목록을 찾아야 합니다. 따라서 입력이 s =abcba와 같으면 출력은 [a, a, ab, abc, abcb, b, b, ba가 됩니다. , bc, bcba, cb, cba] 각각에 대해 문자열 자체에 있는 서로 다른 아나그램을 찾을 수 있습니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − res :=새 목록 L :=s
두 개의 입력 n과 k가 있다고 가정합니다. n이 k개의 소수 값의 합으로 표현될 수 있는지 확인해야 합니다. 따라서 입력이 n =30 k =3과 같으면 30이 2 + 11 + 17과 같이 표시될 수 있으므로 출력은 True가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n
nums라는 요소 목록이 있다고 가정하고 각 정수를 나누는 가장 큰 양수 값을 찾아야 합니다. 따라서 입력이 nums =[15, 81, 78]과 같으면 출력은 3이 됩니다. 3은 15, 81, 78을 모두 나누는 가장 큰 정수이기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 숫자의 크기가 1과 같으면 숫자 반환[0] div :=nums[0] 및 nums[1]의 gcd) 숫자의 크기가 2와 같으면 div를 반환 범위 1에서 숫자 - 2까지의 i에 대해 수행 div :
nums라는 항목 목록이 있다고 가정하고 i의 왼쪽에 있는 숫자의 합이 i의 오른쪽에 있는 숫자의 합과 같도록 가장 작은 인덱스 i를 찾아야 합니다. 그러한 솔루션을 찾을 수 없으면 -1을 반환합니다. 따라서 입력이 nums =[8,2,3,6,5,2,5,9,1,2]와 같으면 출력은 4가 됩니다. 왜냐하면 인덱스 4의 왼쪽에 있는 요소의 합은 [ 8,2,3,6] =19이고 오른쪽에 있는 요소의 합은 [2,5,9,1,2] =19이기도 합니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − r :=숫자에 있는 모든 요소의
두 개의 문자열 s1과 s2가 있다고 가정합니다. s1과 s2의 특별한 부분 문자열인 가장 긴 문자열 s3의 크기를 찾아야 합니다. y에서 0개 이상의 문자를 제거하여 x를 생성할 수 있는 경우 문자열 x는 다른 문자열 y의 특수 부분 문자열이라고 말할 수 있습니다. 따라서 입력이 s1 =pineapple s2 =people과 같으면 특수 부분 문자열이 peple이고 크기가 5이므로 출력은 5가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − prev :=일부 키가 없으면 0을 반환하는 새 사전 0에서 s1 -
요소 목록이 있다고 가정합니다. 이러한 요소는 단일 연결 목록에 저장됩니다. 우리는 또한 값 pos와 값 val이 있습니다. 연결 리스트의 인덱스 위치 앞에 val을 삽입해야 합니다. 따라서 입력이 nums =[1,5,3,6,8] pos =3 val =7과 같으면 출력은 [1,5,3,7,6,8]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − new :=val과 같은 값을 가진 연결 리스트 노드 생성 pos가 0과 같으면 다음 항목:=list_head 새로 반환 임시 :=list_he
숫자 n이 있다고 가정합니다. x =rand() mod n을 고려하십시오. 여기서 rand() 함수는 0에서 10^100(둘 다 포함) 사이의 정수를 무작위로 균일하게 생성합니다. 그리고 $$Y =\sqrt{x+\sqrt{x+\sqrt{x+\sqrt{x+...}}}}$$ Y의 기대값을 찾아야 합니다. n의 값은 1과 5*10^6 범위에 있습니다. 따라서 입력이 n =5와 같으면 출력은 1.696이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 오류:=2235.023971557617 최대_n :=5 * 10^6