jobs[i]가 i번째 작업을 완료하는 데 필요한 시간을 나타내는 배열이 있다고 가정합니다. 우리는 또한 그들에게 우리가 작업을 할당할 수 있는 또 다른 값 k가 있습니다. 각 작업은 정확히 한 작업자에게 할당되어야 합니다. 그리고 노동자의 노동 시간은 그들에게 할당된 모든 작업을 완료하는 데 걸리는 총 시간입니다. 우리는 모든 과제의 가능한 최소 최대 작업 시간을 찾아야 합니다. 따라서 입력이 jobs =[2,1,3,8,5], k =2와 같으면 출력은 10이 됩니다. 왜냐하면 다음과 같은 작업을 할당할 수 있기 때문입니다.
소문자의 대상 문자열을 만들고 싶다고 가정합니다. 처음에는 n ? 표시(n은 대상 문자열의 길이). 소문자 우표도 있습니다. 각 턴에서 시퀀스 위에 스탬프를 배치하고 스탬프의 모든 문자를 해당 스탬프의 해당 문자로 바꿀 수 있습니다. 최대 10 * n 회전을 할 수 있습니다. ababc. 따라서 입력이 s =abcd t =abcdbcd와 같으면 출력은 [3,0] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − s의 크기가 1과 같으면 t의 모든 문자가 동일하고 s[0]이면 0에서 t까지의 목록을 반환하고, 그렇지
N개의 돌 더미가 일렬로 배열되어 있다고 가정합니다. 여기서 i번째 더미에는 돌[i]개의 돌이 있습니다. 이동은 K개의 연속된 더미를 하나의 더미로 병합하는 것으로 구성되며, 이제 이 이동의 비용은 이 K개의 더미에 있는 돌의 총 수와 같습니다. 우리는 모든 돌 더미를 하나의 더미로 병합하는 최소 비용을 찾아야 합니다. 그런 솔루션이 없으면 -1을 반환합니다. 따라서 입력이 nums =[3,2,4,1], K =2와 같으면 출력은 처음에 [3, 2, 4, 1]이 있기 때문에 20이 됩니다. 그런 다음 [3, 2]를 비용 5와 병합하
문자열 s가 있다고 가정합니다. 3개의 회문 부분 문자열로 나눌 수 있는지 여부를 확인해야 합니다. 따라서 입력이 s =levelpopracecar와 같으면 출력은 level, pop, racecar와 같이 분할할 수 있으므로 True가 됩니다. 모두 회문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=s의 크기 dp :=n x n 차의 행렬이고 false로 채움 n-1 ~ 0 범위의 i에 대해 1 감소, 수행 0 ~ n - 1 범위의 j에 대해 수행 =j이면 dp[i, j] :
각 작업자에 대해 quality라는 배열이 있고 임금이라는 또 다른 배열이 있고 값 K가 있다고 가정합니다. i 번째 작업자는 품질[i]과 최저 임금 기대 임금[i]을 가지고 있습니다. 유료 그룹을 구성할 K명의 직원을 고용하고 싶습니다. K 직원 그룹을 고용할 때 다음 규칙에 따라 급여를 지급해야 합니다. 유급 그룹의 각 근로자는 유급 그룹의 다른 직원과 비교하여 품질의 비율로 급여를 받아야 합니다. 유급 그룹의 모든 근로자는 최소 기대 임금 이상을 받아야 합니다. 위의 조건을 만족하는 유료 그룹을 구성하는 데 필
숫자 n, languages라는 배열, friendships라는 배열이 있고 1부터 n까지 번호가 매겨진 n개의 언어가 있다고 가정하고, languages[i]는 i번째 사용자가 알고 있는 언어 집합을 나타내고, 우정[ i]는 쌍을 가지고 있습니다. [ui, vi]는 사용자 ui와 vi 사이의 우정을 나타냅니다. 우리는 하나의 언어를 선택하고 일부 사용자에게 가르칠 수 있으므로 모든 친구들이 서로 의사소통할 수 있습니다. 가르치는 데 필요한 최소 사용자 수를 찾아야 합니다. (우정은 전이가 아니라는 점을 명심해야 합니다. 따라서 x
배열 enc가 있다고 가정합니다. 첫 번째 n(홀수) 양의 정수의 순열인 배열 perm이 있습니다. 이 목록은 길이가 n-1인 배열 enc로 인코딩되어 enc[i] =perm[i] XOR perm[i+1]이 됩니다. 원래 어레이 파마를 찾아야 합니다. 따라서 입력이 enc =[2,5,6,3]과 같으면 출력은 [7, 5, 0, 6, 5]가 됩니다. 여기에서는 [7 XOR 5 XOR 0 XOR 6 XOR 5] =[ 2, 5, 6, 3] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=enc의 크기 result :=크기(
소문자만 포함된 두 개의 문자열 s와 t가 있다고 가정합니다. 한 번의 작업으로 s 또는 t의 모든 문자를 소문자로 변경할 수 있습니다. 다음 세 가지 조건 중 하나를 충족해야 합니다. - s의 모든 문자는 알파벳의 t에 있는 모든 문자보다 엄격하게 작습니다. t의 모든 문자는 알파벳의 s에 있는 모든 문자보다 엄격하게 작습니다. s와 t는 모두 하나의 고유한 문자로만 구성됩니다. 결과를 얻기 위해 필요한 최소 작업 수를 찾아야 합니다. 따라서 입력이 s =sts, t =uss와 같으면 출력은 2가 됩니다.
하나의 m x n 행렬이 있다고 가정합니다. 및 또 다른 값 k. 여기서 행렬의 좌표(a, b) 값은 모든 행렬[i, j]의 XOR입니다. 여기서 i는 범위(0~a)이고 j는 범위(0~b)입니다. 행렬의 모든 좌표 중 k번째로 큰 값(1-indexed)을 찾아야 합니다. 따라서 입력이 다음과 같으면 5 2 1 6 그리고 k =1이면 좌표 (0,1)의 값이 5 XOR 2 =7이고 이것이 가장 큰 값이기 때문에 출력은 7이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − m :=행 개수, n :=열 개수 0
이진 트리가 주어지고 이진 트리의 두 노드 사이의 거리를 구하라는 요청을 받았다고 가정합니다. 그래프와 같이 두 노드 사이의 간선을 찾아 간선의 수 또는 그 사이의 거리를 반환합니다. 트리의 노드는 다음과 같은 구조를 갖는다 - data : <integer value> right : <pointer to another node of the tree> left : <pointer to another node of the tree> 따라서 입력이 다음과 같으면 그리고 그 사이의 거리를 찾아야 하는
각 adPair[i]에 두 개의 요소가 있는 n-1 크기의 adPair라는 2D 배열이 있다고 가정합니다. [ui, vi]는 요소 ui와 vi가 nums라는 배열에서 인접함을 나타냅니다. nums에는 n개의 고유 요소가 있습니다. 배열 번호를 찾아야 합니다. 여러 솔루션이 있는 경우 그 중 하나를 반환하십시오. 따라서 입력이 adPair =[[3,2],[4,5],[4,3]]과 같으면 출력은 [2,3,4,5]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − my_map :=다른 키에 대한 목록을 저장하기 위한 빈
정수를 포함하는 배열이 주어진다고 가정합니다. array[i] 값을 제곱 값으로 바꿀 수 있는 작업을 수행할 수 있습니다. 또는 배열[i] * 배열[i]. 이러한 종류의 작업은 하나만 허용되며 작업 후 가능한 최대 하위 배열의 합계를 반환해야 합니다. 하위 배열은 비워둘 수 없습니다. 따라서 입력이 array =[4, 1, -2, -1]과 같으면 출력은 17이 됩니다. array[0]의 값을 제곱 값으로 바꾸면 배열은 [16, 1, -2, -1]이 됩니다. 이로부터 가능한 최대 부분배열은 [16, 1]이며, 최대합값은 16 +
가장 최근에 사용한 요소를 끝으로 이동하는 대기열을 설계하라는 요청을 받았다고 가정해 보겠습니다. 대기열은 1에서 n까지의 정수로 초기화됩니다. 이제 함수가 호출될 때마다 입력으로 지정된 위치에서 큐의 끝까지 값을 이동하도록 함수를 빌드해야 합니다. 함수를 여러 번 호출하고 함수는 이동 작업을 수행하는 동안 현재 큐 끝에 있는 값을 반환합니다. 따라서 대기열이 n =5 값으로 초기화되거나 1에서 5 사이의 값을 포함하는 경우. 이동이 수행되는 위치가 각각 5, 2, 3 및 1이면 출력은 5, 2, 4, 1이 됩니다. 이 문제를
다른 건물의 높이를 포함하는 배열이 제공된다고 가정합니다. 건물이 일렬로 늘어서 있고 다른 고층 건물에 가려져 있지 않으면 건물이 더 잘 보입니다. 따라서 높이를 포함하는 배열이 제공되면 다른 높은 건물이 없는 건물에서 시야를 가리는 건물을 찾아야 합니다. 기준을 만족하는 배열에서 인덱스가 반환됩니다. 따라서 입력이 height =[5, 6, 8, 7]과 같으면 출력은 [2, 3]이 됩니다. 배열 인덱스 0과 1의 건물은 인덱스 2의 건물에 의해 차단됩니다. 인덱스 2와 3의 건물은 위치 2의 높은 건물이 위치 3의 짧은 건물 뒤
두 개의 목록이 주어졌다고 가정합니다. 몇 개의 선택된 구를 포함하는 구문과 다른 목록의 구를 포함하거나 포함하지 않을 수 있는 여러 문장을 포함하는 문장. 우리는 첫 번째 목록의 다양한 구가 두 번째 목록에 나타나는지 알아내고 두 번째 목록의 출현을 기준으로 첫 번째 목록 구를 정렬해야 합니다. 정렬된 목록 구문을 출력으로 반환합니다. 따라서 입력이 구문 =[강한, 내구성이 있는, 효율적인]과 같으면 문장 =[제품이 내구성이 있고 효율적입니다, 강하고 내구성이 있습니다, 효율적입니다, 좋아요 효율적이기 때문에], 출력은 [효율적
소문자 알파벳으로 구성된 두 개의 문자열이 제공된다고 가정합니다. 주어진 조건을 만족하는 쿼드러플(p, q, r, s)의 수를 찾아야 합니다. - 0 <=p <=q <=첫 번째 문자열의 길이. 0 <=r <=s <=두 번째 문자열의 길이. 첫 번째 문자열의 인덱스 p에서 시작하여 첫 번째 문자열의 인덱스 q에서 끝나는 부분 문자열은 두 번째 문자열의 인덱스 q에서 시작하여 두 번째 문자열의 인덱스 r에서 끝나는 부분 문자열과 같아야 합니다. q - r은 위의 조건을 만족하는 모든 quadruples 내에서 가능
m명의 소년과 n명의 소녀가 있고 m =n이 있다고 가정합니다. 파티가 시작되고 각 소년은 소녀와 함께 그 파티에 가야 합니다. 따라서 소년은 모든 소녀를 초대하고 소녀는 하나의 초대만 수락할 수 있습니다. 우리는 소녀들이 수락할 수 있는 소년들의 총 초대 수를 찾아야 합니다. 입력은 m x n 행렬로 제공되며, 여기서 각 셀 위치 i, j는 소년 i가 소녀 j에게 편지를 보냈는지 여부를 나타냅니다. 셀이 1이면 초대장이 전송되었음을 의미하고 0이면 초대장이 전송되지 않았음을 의미합니다. 따라서 입력이 다음과 같으면 1 0 0
n개의 요소가 있는 코인이라는 배열이 있고 우리가 소유한 코인을 나타내는 배열이 있다고 가정합니다. i번째 코인의 가치는 코인[i]으로 표시됩니다. 값의 합이 x가 되도록 n개의 동전 중 일부를 선택할 수 있으면 값 x를 만들 수 있습니다. 0부터 시작하여 0을 포함하는 코인으로 얻을 수 있는 연속 값의 최대 수를 찾아야 합니다. 따라서 입력이 동전 =[1,1,3,4]와 같으면 출력은 10이 됩니다. 왜냐하면 0 =[] 1 =[1] 2 =[1,1] 3 =[3] 4 =[4] 5 =[4,1] 6
배열 번호가 있다고 가정하고 왼쪽과 오른쪽이라고 하는 두 개의 다른 하위 배열로 분할해야 다음과 같이 됩니다. - 왼쪽 부분배열의 각 요소는 오른쪽 부분배열의 각 요소보다 작거나 같습니다. 왼쪽 및 오른쪽 하위 배열이 비어 있지 않습니다. 왼쪽 하위 배열은 가능한 가장 작은 크기를 갖습니다. 이러한 분할 후 왼쪽 길이를 찾아야 합니다. 따라서 입력이 nums =[5,0,3,8,6]과 같으면 왼쪽 배열이 [5,0,3]이고 오른쪽 하위 배열이 [8,6]이 되기 때문에 출력은 3이 됩니다. 이 문제를 해결하기
n, index 및 maxSum의 세 가지 값이 있다고 가정합니다. nums라는 배열을 고려하여 nums[index]를 찾아야 하고 nums는 다음 조건을 충족합니다. - 숫자의 크기는 n입니다. n의 모든 요소는 양수입니다. |숫자[i] - 숫자[i+1]| <=모든 i에 대해 1, 0 <=i