몇 개의 요소로 구성된 배열이 있다고 가정합니다. 배열 요소가 회전되면 최대 가중치 합을 찾아야 합니다. 배열 nums의 가중치 합은 다음과 같이 계산할 수 있습니다. - $$\mathrm{𝑆=\sum_{\substack{𝑖=1}}^{n}𝑖∗𝑛𝑢𝑚𝑠[𝑖]}$$ 따라서 입력이 L =[5,3,4]와 같으면 출력은 26이 됩니다. 배열은 [5,3,4]이고 합계는 5 + 2*3 + 3*4 =5 + 6 + 12 =23입니다. 배열은 [3,4,5]이고 합계는 3 + 2*4 + 3*5 =3 + 8 + 15 =26(최
반경 r까지 주변 환경을 모니터링할 수 있는 센서 모듈이 있다고 가정합니다. 모니터링이 필요한 모듈 모니터링 서클의 격자점에 몇 가지 사항이 있습니다. 따라서 k개의 저전력 모듈을 배치하여 특정 지점만 모니터링할 수 있습니다. 반경의 제곱과 저전력 모듈의 k 개수가 주어지면 포인트를 올바르게 모니터링할 수 있는지 확인해야 합니다. 모니터링이 가능하면 true를 반환하고, 그렇지 않으면 false를 반환합니다. 따라서 입력이 반지름(j) =4의 제곱, 모니터링 지점 수(k) =3과 같으면 출력은 False가 됩니다. j =4이면
목록 L과 다른 값 k가 있다고 가정합니다. 시작에서 k번째 노드와 끝에서 k번째 노드를 교환하고 마지막에 최종 목록을 반환해야 합니다. 따라서 입력이 L =[1,5,6,7,1,6,3,9,12] k =3과 같으면 출력은 [1,5,3,7,1,6, 6,9,12], 시작부터 3번째 노드는 6, 끝 노드는 3이므로 스왑됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 온도 :=L 0~k-2 범위의 i에 대해 다음을 수행합니다. temp :=다음 temp firstNode :=임시 secondNode :=L temp의 다
숫자 num의 목록이 있다고 가정합니다. 또한 쿼리[i]에 세 개의 요소 [k, p, r]가 포함된 쿼리 목록이 있으며 각 쿼리에 대해 kpr_sum을 찾아야 합니다. kpr_sum의 공식은 아래와 같습니다. $$\mathrm{{𝑘𝑝𝑟}\_{𝑠𝑢𝑚} =\sum_{\substack{𝑖=𝑃}}^{𝑅−1}\sum_{\substack{𝑗=𝑖+1}}^{𝑅}( ⊕(𝐴[𝑖]⊕𝐴[𝑗]))}$$ 합계가 너무 크면 합계 모듈로 10^9+7을 반환합니다. 따라서 입력이 nums =[1,2,3] 쿼리 =[[1,1,3],
숫자 n이 있다고 가정합니다. n이 이상한지 아닌지 확인해야 합니다. 여기서 숫자는 − 1일 때 이상한 것입니다. 숫자가 홀수인 경우 2. 숫자가 2에서 5 사이의 범위에 있지 않음 3. 숫자가 짝수이고 범위가 6에서 20인 경우 따라서 입력이 n =18과 같으면 짝수이고 범위가 6에서 20이기 때문에 출력이 이상합니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n이 홀수이면 이상함을 반환 1 및 n 20일 때 이상하지 않음 반환 6이고 n <21일 때 이상함을 반환 예시 이해를 돕기 위해 다음
길이가 같은 두 개의 정수 배열 src와 tgt가 있다고 가정합니다. 또한 allowedSwaps[i]에 (ai, bi) 쌍이 포함된 allowedSwaps 배열이 있습니다. 이는 인덱스 ai에 있는 요소를 배열 src의 요소 인덱스 bi와 교환할 수 있음을 나타냅니다. (어떤 순서로든 원하는 만큼 특정 인덱스 쌍에서 요소를 교환할 수 있습니다.) 길이가 같은 두 배열 src와 tgt의 해밍 거리는 요소가 다른 위치의 수라는 것을 알 수 있습니다. 배열 src에서 스왑 작업을 수행한 후 src와 tgt의 최소 해밍 거리를 찾아야 합
세 개의 숫자 i, j, k와 또 다른 숫자 n이 있다고 가정합니다. i+j+k가 n과 같지 않은 모든 삼중항(i, j, k)의 목록을 찾아야 합니다. 목록 이해 전략을 사용하여 이 문제를 해결해야 합니다. 따라서 입력이 i =1, j =1, z =2 및 n =3과 같으면 출력은 [[0, 0, 0], [0, 0, 1], [0, 0, 2], [0, 1, 0], [0, 1, 1], [1, 0, 0], [1, 0, 1], [1, 1, 0], [1, 1, 2] ] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − arr =x+y
고유한 양수 값을 가진 배열 nums가 있다고 가정하고 a*b =c*d가 되도록 튜플 수(a, b, c, d)를 찾아야 합니다. 여기서 a, b, c, d는 nums의 요소입니다. , 그리고 모든 요소 a, b, c 및 d는 고유합니다. 따라서 입력이 nums =[2,3,4,6]과 같으면 (2,6,3,4), (2,6,4,3)과 같은 튜플을 얻을 수 있으므로 출력은 8이 됩니다. , (6,2,3,4), (6,2,4,3), (3,4,2,6), (4,3,2,6), (3,4,6,2) , (4,3,6,2). 이 문제를 해결하기 위해 다음
m x n 이진 행렬이 있다고 가정하면 행렬의 열을 임의의 순서로 재배열할 수 있습니다. 재정렬 작업을 수행한 후 부분행렬의 모든 요소가 1인 행렬 내에서 가장 큰 부분행렬의 면적을 찾아야 합니다. 따라서 입력이 다음과 같으면 1 0 1 1 1 1 0 0 1 그러면 출력은 4가 됩니다. 열 스와핑 후에는 1 1 0 1 1 1 0 1 0 여기서 최대 부분행렬은 4개의 1이 있는 정사각형 크기입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − row :=행렬의 행 수, col :=행렬의 열 수 0
셀에 X, O, * 및 #과 같은 다양한 기호가 포함되고 기호에 다양한 의미가 있는 그리드가 있다고 가정합니다. #는 도달하려는 목표 셀입니다. O는 목표 셀로 이동할 수 있는 자유 셀입니다. *는 셀에서 우리의 위치입니다. X는 우리가 이동할 수 없는 차단된 세포입니다. 그리드의 현재 위치에서 목표 셀에 도달하는 데 필요한 이동 수를 찾아야 합니다. 목표에 도달할 수 없으면 -1을 반환합니다. 그리드는 프로그램에 대한 입력으로 제공됩니다. 따라서 입력이 다음과 같으면 X X 오 X X X * X X # 오 X X X
0에서 n-1까지 번호가 매겨진 n개의 호스텔 객실이 있다고 가정합니다. 호스텔 방에 있는 학생들은 다른 방으로 옮기고 싶어하며 여러 차례 요청을 합니다. 빈 호스텔은 없으며, 전학을 희망하는 학생의 자리를 다른 학생이 대신할 경우에만 전학 요청이 처리됩니다. 따라서 요청이 주어지면 얼마나 많은 요청을 충족할 수 있는지 알아내야 합니다. 따라서 입력이 n =3, 요청 =[[0,2],[1,0],[2,1]]인 경우 출력은 3이 됩니다. 0번 방의 학생이 2번 방으로 이동합니다. 1번 방의 학생이 0번 방으로 이동합니다. 2번 방
숫자 n이 있다고 가정하고 다음 작업을 여러 번 사용하여 0으로 변환해야 합니다. - n의 이진 표현에서 가장 오른쪽 비트를 선택합니다. (i-1)번째 비트가 1로 설정되고 (i-2)~0번째 비트가 0으로 설정되면 n의 이진 표현에서 i번째 비트를 변경합니다. 따라서 마지막으로 n을 0으로 변환하는 데 필요한 최소 연산 수를 찾아야 합니다. 따라서 입력이 n =6과 같으면 초기에 6 =110이므로 출력은 4가되고 두 번째 작업으로 010으로 변환 한 다음 첫 번째 작업을 사용하여 011로 변환 한 다음 로 변환
모든 요소의 길이가 같은 단어라는 문자열 목록이 있다고 가정합니다. target이라는 문자열도 있습니다. 다음 규칙에 따라 주어진 단어를 사용하여 대상을 생성해야 합니다 - 왼쪽에서 오른쪽으로 타겟을 생성해야 합니다. target[i]가 words[j][k]와 같을 때, target의 i번째 문자(0-indexed)를 얻기 위해 j번째 문자열의 k번째 문자를 단어로 선택할 수 있습니다. j번째 문자열의 k번째 문자를 사용하면 x <=k인 단어에서 문자열의 x번째 문자를 사용할 수 없습니다. 전체 대상 문자열을
배열 번호가 있다고 가정하고 최대 50개의 고유 값이 있습니다. 수량이라는 또 다른 배열도 있습니다. 여기서 수량[i]은 i번째 고객이 주문한 값의 양을 나타냅니다. 다음과 같이 숫자를 분배할 수 있는지 확인해야 합니다. i번째 고객은 정확히 수량[i]개 항목을 얻습니다. i번째 고객이 얻는 가치는 모두 동일하며 모든 고객이 만족합니다. 따라서 입력이 nums =[5,1,2,2,3,4,4,3,3] quantity =[2,2,3]과 같으면 두 고객이 두 개의 요소를 원하기 때문에 출력은 True가 됩니다. 각각
배열 번호가 있다고 가정합니다. 배열의 모든 요소에 대해 여러 번 두 가지 유형의 작업을 수행할 수 있습니다. 짝수 요소의 경우 2로 나눕니다. 홀수 요소의 경우 2를 곱합니다. 이제 배열의 편차는 배열의 두 요소 사이의 최대 차이입니다. 우리는 몇 가지 연산을 수행한 후 배열이 가질 수 있는 최소 편차를 찾아야 합니다. 따라서 입력이 nums =[6,3,7,22,5]와 같으면 배열을 만들 수 있기 때문에 출력은 5가 됩니다. 한 작업 [6,6,7,22,5] 및 두 번째 작업 [6,6,7,22,10] 및 다른 작업
하나의 edgeList를 사용하는 n개의 노드가 있는 하나의 무방향 가중치 그래프가 있다고 가정합니다. 여기서 edgeList[i]에는 3개의 매개변수(u, v, w)가 있으며 거리가 w인 u에서 v까지의 경로가 있음을 나타냅니다. 또한 query[i]에 (p, q, lim)이 있는 또 다른 쿼리 배열이 있습니다. 이 쿼리는 거리가 lim보다 작은 p에서 q까지의 경로(직접 또는 다른 노드를 통한)가 있는지 묻습니다. 각 쿼리에 대해 True/False 결과를 포함하는 배열을 반환해야 합니다. 따라서 입력이 다음과 같으면 2
하나의 이진 배열 num과 값 k가 있다고 가정합니다. 한 번에 두 개의 인접한 인덱스를 선택하고 값을 바꿀 수 있습니다. 숫자가 k 연속 1이 되도록 필요한 최소 이동 횟수를 찾아야 합니다. 따라서 입력이 nums =[1,0,0,1,0,1,0,1], k =3과 같으면 출력은 2가 됩니다. 한 번의 스왑으로 [1,0]에서 배열을 만들 수 있기 때문입니다. ,0,1,0,1,0,1] ~ [1,0,0,0,1,1,0,1] 다음 [1,0,0,0,1,1,1,0] . 이 문제를 해결하기 위해 다음 단계를 따릅니다. − j :=0
음수가 아닌 값을 가진 num이라는 배열이 있다고 가정합니다. 또한 쿼리[i]에 쌍(xi, mi)이 있는 쿼리라는 또 다른 배열이 있습니다. i번째 쿼리의 답은 xi의 최대 비트 XOR 값과 mi보다 작거나 같은 num의 모든 요소입니다. nums의 모든 요소가 mi보다 크면 답은 -1입니다. 그래서 우리는 sizeof 답변이 쿼리의 크기와 같고 answer[i]가 i번째 쿼리에 대한 답변인 배열 답변을 찾아야 합니다. 따라서 입력이 nums =[0,1,2,3,4] 쿼리 =[[3,1],[1,3],[5,6]]과 같으면 출력은 [3,
두 개의 문자열 s와 t가 있다고 가정합니다. 이 두 문자열은 결과 문자열이 t가 되도록 s에 있는 두 문자의 위치를 정확히 K번 교환할 수 있을 때 K 유사합니다. 두 개의 아나그램 s와 t가 있고 s와 t가 K-유사한 가장 작은 K를 찾아야 합니다. 따라서 입력이 s =abc, t =bac와 같으면 출력은 1이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 함수 swapp()를 정의하면 문자열 s, i, j,가 사용됩니다. x :=s[i], y :=s[j] s[i] :=y, s[j] :=x
문자열 s가 있다고 가정하고 문자열 s의 고유한 하위 시퀀스 수를 계산해야 합니다. 답이 너무 크면 결과 모듈로 10^9 + 7을 반환합니다. 따라서 입력이 s =bab과 같으면 a, b, ba, ab, bb, abb와 같은 6개의 다른 시퀀스가 있기 때문에 출력은 6이 됩니다. . 이 문제를 해결하기 위해 다음 단계를 따릅니다. − dp :=s와 크기가 같고 0으로 채워진 배열 m :=10^9 + 7 s의 각 인덱스 i 및 항목 char에 대해 수행 ind :=오른쪽부터 s의 i번째 문자 인덱스