n개의 숫자가 있는 배열 A와 또 다른 입력 K가 있다고 가정하면 주어진 작업을 수행한 후 마지막으로 0으로 줄어들 인덱스를 찾아야 합니다. 작업은 다음과 같이 설명됩니다 - A[0]에서 시작하여 A[N – 1]까지 각 요소를 A[i] =A[i] – K로 업데이트합니다. 이제 A[i]
주어진 이진 트리가 있다고 가정합니다. 주어진 이진 트리에서 가장 큰 Perfect 하위 트리의 크기를 찾아야 합니다. 우리가 알고 있듯이 완벽한 이진 트리는 모든 내부 노드가 두 개의 자식을 갖고 모든 잎이 동일한 수준에 있는 이진 트리입니다. 따라서 입력이 다음과 같으면 그러면 출력은 3이고 하위 트리는 이 문제를 해결하기 위해 다음 단계를 따릅니다. − RetType이라고 하는 하나의 블록을 정의합니다. 이것은 isPerfect, height 및 rootTree를 보유하며 초기에는 모두 0입니다. get
이진 행렬이 있다고 가정하면 해당 행렬에서 모든 1 중 가장 큰 직사각형을 찾아야 합니다. 사각형은 해당 행렬의 열 쌍을 바꾸거나 교환하여 만들 수 있습니다. 따라서 입력이 다음과 같으면 1 0 0 1 0 1 0 0 1 1 1 1 0 1 0 이 경우 출력은 6이 됩니다. 사각형은 열 1을 3으로 교환하여 생성할 수 있습니다. 교환 후 행렬은 - 0 0 1 1 0 0 0 1 1 1 1 0 1 1 0 이 문제를 해결하기 위해 다음 단계를 따릅니다. row :=매트의 크기 col :=매트의 크기[0]
문자열 S가 있다고 가정합니다. 해당 문자열의 사전순으로 가장 큰 회문 하위 시퀀스를 찾아야 합니다. 따라서 입력이 tutorialspointtutorial과 같으면 출력은 uu가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − ans :=빈 문자열 max_val :=s[0] 범위 1에서 s까지의 i에 대해 수행 max_val :=max_val의 최대값, s[i] 범위 0에서 s까지의 i에 대해 s[i]가 max_val과 같으면 ans :=ans + s[i] 반환
A[i]는 문자열 s의 길이(i + 1) 접두사에서 고유한 문자의 수를 나타내는 n개의 숫자로 구성된 배열 A가 있다고 가정합니다. 주어진 접두사 배열을 만족하는 사전순으로 가장 작은 문자열을 찾습니다. 모든 문자는 영문 소문자[a-z]입니다. 해당 문자열이 없으면 -1을 반환합니다. 따라서 입력이 A =[1,1,2,3,4]와 같으면 접두사[0]에는 1개의 고유한 문자가 있고 접두사[1]에는 1개의 고유한 문자가 있으므로 출력은 aabcd가 됩니다. 2개의 고유한 문자가 있고, prefix[3]에는 3개의 고유한 문자가 있고, p
주어진 문자열이 있다고 가정하면 해당 문자열의 접두사, 접미사 및 하위 문자열인 가장 큰 하위 문자열을 찾아야 합니다. 그러한 부분 문자열이 없으면 -1을 반환합니다. 따라서 입력이 languagepythonlanguageinterestinglanguage와 같으면 출력은 언어가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − get_lps() 함수를 정의합니다. 문자열이 필요합니다. n :=문자열의 크기 long_pref_suff :=크기가 n인 배열, 0으로 채움 크기 :=0, long_pr
n개의 다른 숫자와 다른 양의 정수 K로 구성된 배열 A가 있다고 가정하고, LCM(최소공배수)이 최대 K인 배열에서 가장 긴 부분수열을 찾아야 합니다. 그 후 LCM과 부분의 길이를 반환합니다. - 시퀀스, 획득한 하위 시퀀스 요소의 인덱스(0부터 시작)를 따릅니다. 그렇지 않으면 -1을 반환합니다. 따라서 입력이 A =[3, 4, 5, 6], K =20과 같으면 출력은 LCM =12, 길이 =3, 인덱스 =[0,1,3]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=A의 크기 my_dict
우리가 정확히 k개의 고유 문자를 가진 가장 긴 가능한 부분 문자열을 반환해야 하는 문자열이 있다고 가정하고, 가능한 가장 긴 부분 문자열이 두 개 이상 있으면 그 중 하나를 반환합니다. 따라서 입력이 s =ppqprqtqtqt, k =3과 같으면 출력은 길이가 7이므로 rqtqtqt가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. N :=26 is_ok() 함수를 정의합니다. 계산이 필요합니다. k 값 :=0 범위 0에서 N까지의 i에 대해 수행 0이면 발값 :=발값 + 1
n개의 자전거가 있고 각 자전거가 연료를 가득 채웠을 때 100km를 달릴 수 있다고 가정합니다. 우리는 이 n개의 자전거를 사용하여 갈 수 있는 최대 거리를 찾아야 합니다. 여기에서 우리는 모든 자전거가 비슷하고 자전거가 1km 거리를 주행하는 데 1리터의 연료를 소비한다고 가정할 수 있습니다. 따라서 n 대의 자전거가 같은 지점에서 출발하여 평행하게 달리면 100km만 갈 수 있습니다. 이 경우 우리의 목표는 최소 연료로 최대 거리를 이동하는 것입니다. 그리고 연료의 최소 낭비는 사용된 자전거의 최소 수를 의미합니다. 자전거가
주어진 숫자 N이 있고 범위(1<=N<=10^9)에서 N을 가능한 가장 큰 합성 피합계 수의 합으로 나타내야 하고 이 가장 큰 숫자를 반환하고, 그렇지 않으면 분할을 찾을 수 없으면 -1을 반환합니다. 따라서 입력이 16과 같으면 출력은 4가 됩니다. 16은 4 + 4 + 4 + 4 또는 8 + 8로 쓸 수 있지만 (4 + 4 + 4 + 4)에는 최대 합이 있기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − max_val :=16 pre_calc() 함수를 정의합니다. 소요 시간 table :=
배열의 요소가 0에서 k-1 범위에 있는 경우 크기가 n인 배열이 있다고 가정합니다. 여기서 k는 양의 정수로 표시되고 k <=n입니다. 이 배열에서 최대 반복 수를 찾아야 합니다. 따라서 입력이 k =8 및 A =[3, 4, 4, 6, 4, 5, 2, 8]인 경우 출력은 4가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − n :=A의 크기 0에서 n 사이의 i에 대해 수행 A[A[i] 모드 k] :=A[A[i] 모드 k] + k max_val :=A[0] 결과 :=0 범위 1에
N개의 다른 유형의 사탕을 이용할 수 있고 N개의 다른 유형의 사탕 가격이 모두 나와 있는 사탕 가게가 있다고 가정합니다. 상점은 또한 매력적인 제안을 제공합니다. 이 제안에 따르면, 우리는 상점에서 사탕 하나를 구입하고 다른 종류의 사탕을 최대 K개까지 무료로 얻을 수 있습니다. N개의 다른 종류의 사탕을 모두 사기 위해 지출해야 하는 최소 금액을 찾아야 합니다. 또한 N개의 다른 종류의 사탕을 모두 사기 위해 지출해야 하는 최대 금액을 찾아야 합니다. 두 경우 모두 제안을 활용하고 가능한 최대 사탕을 회수해야 합니다. k개 이상
=0. 따라서 입력이 p =7 및 q =17, r =6 및 s =3인 경우 출력은 7의 테이블 =[7, 14, 21, 28, 35, 42, 49, ...] 및 17의 테이블 =[17, 34, 51, 68, 85, 102, 119, ...], 7의 이동된 테이블은 [13, 20, 27, 34, 41, 48, 55가 됩니다. , ...]이고 17의 이동된 테이블은 [20, 37, 54, 71, 88, 105, 121, ...]이고, 이러한 이동된 테이블의 두 항 사이의 최소 차이는 20-20 =0입니다. 이 문제를 해결하기 위해
크기가 n인 정렬되지 않은 배열 A[0..n-1]이 있다고 가정하면 최소 길이 하위 배열 A[s..e]를 찾아야 합니다. 이 하위 배열 전체 배열이 정렬됩니다. 따라서 배열이 [2,6,4,8,10,9,15]와 같으면 출력은 5가 됩니다. 하위 배열은 [6,4,8,10,9]가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − res :=숫자를 배열로 정렬 답변 :=0 r을 연결 목록으로 설정 범위 0에서 res의 길이까지의 i에 대해 nums[i]가 res[i]와 같지 않으면 i를 r에 삽입합니
하나의 N X N 행렬 M이 있고 이것이 1, 0, 2, 3으로 채워져 있다고 가정합니다. 소스 셀에서 대상 셀로 이동하는 데 필요한 최소 이동 횟수를 찾아야 합니다. . 빈 셀로만 방문할 때 위, 아래, 오른쪽, 왼쪽을 방문할 수 있습니다. 값이 1인 셀은 소스를 나타냅니다. 값이 2인 셀은 대상을 나타냅니다. 값이 3인 셀은 빈 셀을 나타냅니다. 값이 0인 셀은 빈 벽을 나타냅니다. 하나의 소스와 하나의 대상 셀만 있을 것입니다. 소스 셀에서 목적지에 도달하는 경로가 둘 이상 있을 수 있습니다. 이제
소문자만 포함된 길이가 같은 두 개의 문자열 P와 Q가 있다고 가정하고 아래 작업을 적용한 후 문자열 P를 문자열 Q와 같게 만드는 데 필요한 최소 사전 처리 이동 수를 계산해야 합니다. - 인덱스 i를 선택하고 문자 pi와 qi를 바꿉니다. 인덱스 i를 선택하고 문자 pi와 pn – i – 1을 바꿉니다. 인덱스 i를 선택하고 문자 qi와 qn – i – 1을 교환하십시오. 참고 - 범위 내 i의 값 (0 ≤ i
숫자 배열 A가 있다고 가정하고 A에서 i 번째 숫자는 섬이 있는 위치이고 또 다른 정수 k가 제공됩니다(1 ≤ k
두 개의 숫자 A와 B가 있다고 가정하면 M이 A로 나누어지고 M의 자릿수의 합이 B와 같도록 최소 양수 M을 찾아야 합니다. 따라서 그러한 결과가 없으면 다음을 반환합니다. 1. 따라서 입력이 A =50, B =2인 경우 출력은 200이 됩니다. 이는 50으로 나누어지고 해당 숫자의 합 =2 + 0 + 0 =2이기 때문입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 두 개의 숫자와 b와 하나의 문자열을 포함하는 하나의 요소 유형 컨테이너 정의 que :=새 목록 elem :=(0, 0, 빈 문자열)
1에서 N까지의 소수의 숫자로 구성된 고리가 있다고 가정합니다. 또한 견인 번호 A와 B도 있습니다. 이제 우리는 어떤 위치(예:x)에 설 수 있습니다. 거리의 총합에 대해 카운트 연산을 수행합니다(Z =X에서 A까지의 거리 + X에서 B까지의 거리). Z가 최소화되도록 X를 선택해야 합니다. 마지막에 Z 값을 반환합니다. X는 A 및 B와 같지 않다는 점을 명심해야 합니다. 따라서 입력이 N =30, A =10, B =20인 경우 출력은 X =15, X에서 A까지의 거리는 5, X에서 B는 5입니다. 따라서 총 거리 =5 + 5
크기가 b와 각각 다른 두 개의 시리즈 A1과 A2가 있다고 가정합니다. 결합된 급수의 평균과 분산을 찾아야 합니다. 따라서 입력이 A1 =[24, 46, 35, 79, 13, 77, 35] 및 A2 =[66, 68, 35, 24, 46]인 경우 출력은 평균 =[44.1429, 47.8입니다. ], sd =[548.694, 294.56], 결합 평균 =45.6667, d1_square =2.322, d2_square =4.5511, Combined_var =446.056 이 문제를 해결하기 위해 다음 단계를 따릅니다. −