숫자만 있는 문자열 s가 있다고 가정합니다. 두 개 이상의 비어 있지 않은 부분 문자열로 분할할 수 있는지 여부를 확인하여 해당 부분 문자열의 숫자 값이 증가하지 않는 순서로 있고 모든 인접한 두 부분 문자열의 숫자 값 차이가 1이 되도록 해야 합니다. 예를 들어 다음과 같은 경우 문자열은 s =0080079이므로 숫자 값 [80, 79]를 사용하여 [0080, 079]로 나눌 수 있습니다. 그리고 값은 내림차순이고 인접한 값은 1만큼 다르므로 이 방법이 유효합니다. 위와 같이 분할이 가능한지 여부를 확인해야 합니다. 따라서 입력
두 개의 배열(성장하지 않음) nums1과 nums2가 있다고 가정합니다. 0 <=i
배열 num이 있다고 가정하고 num의 비어 있지 않은 각 하위 배열의 최대 최소 곱을 찾아야 합니다. 답은 충분히 클 수 있으므로 모듈로 10^9+7로 반환합니다. 배열의 최소 곱은 배열의 합을 곱한 배열의 최소값과 같습니다. 따라서 배열이 [4,3,6]과 같은 경우(최소값은 3) 최소 곱은 3*(4+3+6) =3*13 =39입니다. 따라서 입력이 nums =[2,3,4,3]과 같으면 결과를 최대화하기 위해 하위 배열 [3,4,3]을 얻을 수 있으므로 출력은 30이 됩니다. 따라서 3*(3+4+ 3) =3*10 =30. 이 문
n개의 캔디와 캔디를 넣어야 하는 k개의 가방이 있다고 가정합니다. 우리는 각 가방에 적어도 하나의 사탕이 들어 있도록 사탕을 분배할 수 있는 가능한 방법의 수를 찾아야 합니다. 이 시나리오의 모든 사탕은 고유하므로 사탕을 가방에 넣을 수 있는 모든 가능한 방법을 계산해야 합니다. 따라서 입력이 n =3, k =2인 경우 출력은 3이 됩니다. 사탕은 이런 식으로 넣을 수 있습니다 - (1, 2), (3) (1) , (2, 3) (2), (1, 3) 이 문제를 해결하기 위해 다음 단계를 따릅니다. − dp :=값 1로 초기
양의 정수를 포함하는 크기가 n인 배열 nums가 있다고 가정합니다. 정수 쌍(pi, qi)을 포함하는 또 다른 배열 쿼리가 있습니다. 배열 쿼리의 모든 쿼리에 대해 대답은 배열 nums[j]에 있는 숫자의 합이 됩니다. 여기서 pi <=j
시작점(sx, sy)과 목표점(tx, ty)이 있다고 가정하면 시작점에서 끝점까지 일련의 이동이 있는지 확인해야 합니다. 여기에서 이동은 점(x, y)을 가져 와서 (x, x+y) 또는 (x+y, y)로 변환하는 것으로 구성됩니다. 따라서 입력이 (sx, sy) =(1,1) (tx, ty) =(4,5)와 같으면 출력은 True가 됩니다. 이는 (1,1)을 (2, 1), 그 다음 (3,1), (4,1), 다음 (4,5). 이 문제를 해결하기 위해 다음 단계를 따릅니다. − solve() 함수를 정의합니다. sx, sy, tx
두 개의 문자열 s와 t가 있다고 가정합니다. 우리는 다음과 같은 방식으로 문자열을 만들고 싶습니다 - s에서 비어 있지 않은 일부 하위 시퀀스 sub1을 선택합니다. t에서 비어 있지 않은 부분 시퀀스 sub2를 선택합니다. sub1과 sub2를 연결하여 문자열을 만듭니다. 설명된 방식으로 형성할 수 있는 가장 긴 회문의 길이를 찾아야 합니다. 회문을 만들 수 없으면 0을 반환합니다. 따라서 입력이 s =hillrace t =cargame과 같으면 s에서 race를 가져오고 r에서 car를 가져올 수 있으므
가중된 무방향 그래프가 주어진다고 가정합니다. 두 개의 꼭짓점과 비용 제한을 입력으로 사용하고 입력으로 주어진 비용보다 더 낮은 비용 경로가 있는지 확인하는 함수 쿼리를 구현해야 합니다. 경로가 있으면 true를 반환하고 그렇지 않으면 false를 반환합니다. 따라서 입력이 다음과 같으면 쿼리는 (0, 2, 10), (3, 1, 30), (4, 3, 30)입니다. 그러면 출력은 FalseTrueTrue 비용 10의 정점 0에서 2 사이에 경로가 없기 때문에 첫 번째 쿼리의 결과는 False입니다. 두 번째 쿼리의 결과는
배열 번호가 있다고 가정하고 배열을 몇 개의 파티션으로 분할하고 각각을 개별적으로 정렬해야 합니다. 이제 그것들을 연결한 후에 우리는 하나의 정렬된 배열을 얻을 것입니다. 만들 수 있는 최대 파티션 수를 찾아야 합니까? 따라서 입력이 [3,2,4,5,5] 와 같으면 [3,2], [4], [5], [5] 와 같은 파티션을 만들 수 있으므로 출력은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − real:=목록 번호 정렬 p1 :=0,p2 :=1, c :=0 다음을 무한히 수행하십시오. 플래
텍스트가 있다고 가정해 보겠습니다. 다음과 같이 a[1], a[2], ..., a[k]가 존재하는 가능한 가장 큰 k를 찾아야 합니다. 각 a[i]는 공백이 아닌 문자열입니다. 그리고 연결 a[1] + a[2] + ... + a[k]는 주어진 텍스트와 같습니다. 범위 1에서 k까지의 모든 i에 대해 a[i] =a[{k+1 - i}]. 따라서 입력이 text =antprezatepzapreanta와 같으면 a|nt|a|pre|za|tpe|za|pre|a|nt|a와 같이 분할할 수 있기 때문에 출력은 11이 됩니다. 이 문제를 해결
nums라는 배열과 다른 값 k가 있다고 가정합니다. 세그먼트 [left, right](left <=right)의 XOR은 인덱스가 왼쪽과 오른쪽(포함) 사이에 있는 모든 요소의 XOR입니다. 크기가 k인 모든 세그먼트의 XOR이 0과 같도록 배열에서 변경할 요소의 최소 수를 찾아야 합니다. 따라서 입력이 nums =[3,4,5,2,1,7,3,4,7], k =3과 같으면 인덱스 2, 3에서 요소를 수정할 수 있으므로 출력은 3이 됩니다. 4 배열을 [3,4,7,3,4,7,3,4,7]로 만듭니다. 이 문제를 해결하기 위해 다음
nums라는 배열과 k 값이 있다고 가정합니다. 하위 배열의 점수(i, j)는 하위 배열 nums[i..j] * (j-i+1)의 최소값으로 정의됩니다. 이제 좋은 하위 배열은 i <=k <=j인 하위 배열입니다. 좋은 하위 배열의 가능한 최대 점수를 찾아야 합니다. 따라서 입력이 nums =[2,5,4,8,5,6] k =3과 같으면 최적의 하위 배열이 여기에 (1, 5) 있기 때문에 출력은 20이 되므로 최소 nums[1 ..5]는 4이므로 4*(5-1+1) =20 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ans
n개의 정수 nums 배열이 있다고 가정합니다. nums의 각 값은 힘을 나타냅니다. 배열의 길이가 2보다 크고 배열의 첫 번째 값과 마지막 값이 같은 경우 배열은 유효한 것으로 평가됩니다. 나머지 요소가 조건을 만족할 수 있도록 배열에서 요소를 삭제하여 배열을 유효하게 만들어야 합니다. 출력으로 어레이의 모든 거듭제곱 값을 더하여 어레이의 가능한 최대 거듭제곱 값을 반환합니다. 따라서 입력이 nums =[3, 4, 5, 3, 4]와 같으면 출력은 16이 됩니다. 배열 nums에서 첫 번째 값 3을 제거하면 [4, 5, 3, 4
크기가 2*n인 num이라는 배열이 있다고 가정합니다. 이 배열에 대해 n개의 작업을 수행해야 합니다. i번째 연산(1-인덱싱됨)에서 다음을 수행합니다. x와 y의 두 요소를 선택하십시오. i*gcd(x, y)의 점수를 얻습니다. 배열 번호에서 x와 y를 제거합니다. n개의 연산을 수행한 후 얻을 수 있는 최대 점수를 찾아야 합니다. 따라서 입력이 nums =[6,2,1,5,4,3]과 같으면 최적의 선택이 (1 * gcd(1, 5)) + (2 * gcd( 2, 4)) + (3 * gcd(3, 6)) =1 +
배열 nums가 있고 두 개의 값 l과 r이 있다고 가정하면 nice 쌍의 수를 찾아야 합니다. 여기서 좋은 쌍은 쌍(i, j)입니다. 여기서 0 <=i
우리가 pf가 소인수의 수를 나타낸다고 가정합니다. 다음 조건을 만족하는 양수 n을 만들어야 합니다. - n의 소인수(고유할 수도 있고 아닐 수도 있음)는 최대 pf입니다. n의 좋은 제수의 수는 최대화됩니다. 우리가 알다시피 n의 제수는 n의 모든 소인수로 나눌 수 있을 때 좋습니다. n의 좋은 제수의 수를 찾아야 합니다. 답이 너무 크면 결과 모듈로 10^9 + 7을 반환합니다. 따라서 입력이 pf =5와 같으면 n =200의 경우 소인수 [2,2,2,5,5]가 있고 좋은 제수가 [10,20,40,50,100,
batchSize 값이 있고 groups[i]가 매장을 방문할 그룹[i] 고객 그룹이 있음을 나타내는 배열 그룹이 있다고 가정합니다. 그래서 주어진 batchSize의 배치로 도넛을 굽는 도넛 가게가 있습니다. 그러나 한 가지 규칙이 있습니다. 다음 배치의 도넛을 제공하기 전에 배치의 모든 도넛을 제공해야 합니다. 그리고 각 고객은 정확히 하나의 도넛을 받게 됩니다. 한 그룹이 가게에 들어올 때, 그 그룹의 모든 고객들은 다음 그룹에 연설하기 전에 서비스를 받아야 합니다. 한 그룹은 모두 신선한 도넛을 먹으면 행복할 수 있습니다.
양수 값을 가진 배열 num이 있다고 가정합니다. nums의 비어 있지 않은 모든 하위 시퀀스 중에서 서로 다른 GCD의 수를 찾아야 합니다. 우리가 알고 있듯이 숫자 시퀀스의 GCD는 시퀀스의 모든 숫자를 균등하게 나누는 가장 큰 값입니다. 따라서 입력이 nums =[4,6,18]과 같으면 gcd([4]) =4, gcd([6]) =6, gcd([18]) =18이므로 출력은 4가 됩니다. gcd([4,6]) =2, gcd([4,18]) =2, gcd([6,18]) =6, gcd([4,6,18]) =2이므로 모든 숫자는 [ 4,6,
문자열 s가 있다고 가정합니다. 정렬된 문자열을 얻을 때까지 s에 대해 다음 작업을 수행해야 합니다. - 1 <=i
두 개의 배열 rr1과 arr2가 있다고 가정합니다. 목록의 XOR 합은 모든 요소의 비트별 XOR입니다. 목록에 요소가 하나만 있는 경우 해당 XOR 합계는 요소 자체가 됩니다. 이제 목록에 0 <=i