두 개의 양수 num1과 num2가 주어집니다. 목표는 둘 다에서 숫자 교체 후 이 둘의 가능한 최소 합과 최대 합을 찾는 것입니다. 두 숫자의 각 숫자에서 숫자를 바꿀 수 있습니다. num1이 434이고 num2가 324이고 숫자 3을 4로, 숫자 4를 3으로 바꿀 수 있다고 가정합니다. 그러면 최소 합은 -333+323=656이 되고 최대 합은 444+424=864가 됩니다. 숫자 3을 4로 또는 그 반대로 바꾸는 예를 들어 이해합시다. − 입력 num1=3224 num2=4321 출력 Maximum sum is : 8645
양수 및 음수 정수 배열과 숫자 K가 제공됩니다. 작업은 K가 요소에서 변경된 후 배열의 최대 합을 찾는 것입니다. 여기서 단일 변경 작업은 단일 요소에 -1을 곱합니다. 사용되는 접근 방식은 모든 음수를 양수로 변환하는 것입니다. N개의 음수가 있는 경우 이를 위해 배열을 정렬합니다 - N
양의 정수 배열이 제공됩니다. 목표는 그 안에 있는 연속적인 숫자의 최대 수를 찾는 것입니다. 우선 배열을 정렬한 다음 인접 요소 arr[j]==arr[i]+1(j=i+1)을 비교합니다. 차이가 1이면 카운트를 증가시키고 i++,j++ elsechange count=1을 인덱싱합니다. maxc에 지금까지 저장된 최대 개수를 저장합니다. 입력 Arr[]= { 100,21,24,73,22,23 } 출력 Maximum consecutive numbers in array : 4 설명 − 정렬된 배열은 − { 21,22,23,24,73,1
정수 배열이 제공됩니다. 목표는 주어진 연산을 수행한 후 동일한 배열의 최대 수를 찾는 것입니다 - i !=j 및가 되도록 두 개의 요소 a[i] 및 a[j]를 선택합니다. a[i] 증가 및 감소 a[j] ( a[i]++,a[j]-- ) 배열의 합을 취하여 요소 수로 나눕니다. N이 array의 크기인 경우 합을 N으로 나눌 수 있으면 같은 수도 N이 됩니다. 그렇지 않으면 같은 수는 N-1이 됩니다. 입력 Arr[]= { 1,2,3 } 출력 Maximum count of equal numbers : 3 설명 −
정수 배열이 제공됩니다. 목표는 더할 때 동일한 합을 생성하는 배열의 최대 쌍 수를 찾는 것입니다. 이러한 쌍의 최대 개수를 찾아야 합니다. 입력 Arr[]= { 1,2,3,4,2 } 출력 Maximum count of pairs with same sum : 3 설명 − 숫자 쌍의 합 − {1,2}, {1,2} Sum:3 {1,3},{2,2} Sum:4 {1,4},{2,3},{3,2} Sum:5 {2,4} Sum:6 {3,4} Sum:7 Maximum count of pairs with same sum is 3 ( for sum
정수 배열이 제공됩니다. 배열은 정렬된 회전 배열입니다. 목표는 주어진 숫자 K보다 작거나 같은 배열의 요소 수를 찾는 것입니다. 접근 방식은 전체 배열을 순회하고 K보다 작거나 같은 요소를 계산하는 것입니다. 입력 Arr[]= { 1,2,3,4,9,8,10 } K=4 출력 Elements less than or equal to 4 : 4 설명 − 요소 <=4는 1,2,3,4입니다. 개수=4 입력 Arr[]= { 5,3,6,1,8,100,12,31 } K=3 출력 Elements less than or equal to 3: 2
정수 배열이 제공됩니다. 목표는 배열에서 다음 조건을 충족하는 요소의 개수를 찾는 것입니다. - 각 요소에 대해 배열에 있는 것보다 크거나 같은 숫자의 개수는 정확히 같아야 합니다. 요소 자체를 제외합니다. 요소가 X이면 배열은 X보다 크거나 같은 정확히 X개의 숫자를 갖습니다. (요소 제외) 입력 Arr[]= { 0,1,2,3,4,9,8 } 출력 Elements exactly greater than equal to itself : 1 설명=그것에 − Arr[0]: 6 elements are >= 0 , 6!=0 count
이진 시퀀스에 대한 입력으로 여러 비트 n이 제공됩니다. 여기서 목표는 길이가 2n인 이진 시퀀스를 찾는 것이므로 첫 번째 및 두 번째 하프 비트의 합이 동일합니다. 처음 n비트와 다음 n비트는 합이 같습니다. 우리는 이진 시퀀스를 가지고 있으므로 임의의 위치에 숫자를 넣을 수 있는 유일한 선택은 0과 1입니다. 전반부와 후반부의 n 비트에 대해 아니오. 가능한 조합의 - 모두 0인 n 비트(0 1) nC0=1 1 1의 nC1이 있는 n비트 2 1의 nC2가 있는 n 비트 . . n 1의 nCn이 있는 n 비트 2n
값 1에서 n까지의 요소 배열이 제공됩니다. 일부 요소는 반복되고 일부는 누락되었습니다. 목표는 O(n) 시간과 O(1) 추가 공간에서 모든 요소의 주파수를 찾는 것입니다. 입력 Arr[]={ 1,2,2,3,4,4,4,5 } 출력 1→1,2→2,3→1,4→3,5→5 설명 − 가장 높은 요소는 5이며 출력은 각 요소가 배열에 나타나는 횟수를 보여줍니다. 입력 Arr[]={ 1,4,4,5,5,5,5 } 출력 1→ 1, 2→0, 3→ 0, 4→ 2, 5→ 4 설명 − 가장 높은 요소는 5이며 출력은 각 요소가 배열에 나타나는 횟수를
처음 N개의 자연수의 순열 배열이 제공됩니다. 여기서 목표는 아래에 언급된 조건을 충족하는 요소의 인덱스 쌍을 찾는 것입니다 - 배열이 Arr[]이면 i,j는 인덱스이고 Arr[i]+Arr[j]=max(Arr[x])가 되도록 요소 쌍을 센다. i<=x<=j. 즉, Arr[i]와 A[j]의 합은 두 세그먼트 사이에 발생하는 최대 요소와 같습니다. 입력 Arr[]= { 2,4,1,3,6,5 } 출력 Count of index pairs which satisfy the given condition:1 설명 − 쌍의 합이 주어집니다.
1에서 n 사이의 숫자 배열이 제공됩니다. 여기서 목표는 아니오를 찾는 것입니다. 주어진 배열을 정렬하는 데 필요한 앞으로 이동 작업. 배열에는 반복이 없습니다. 맨 앞으로 이동 작업은 요소를 선택하고 첫 번째 위치(여기서는 인덱스 0)에 배치합니다. 요소가 올바른 위치에 있으면 끝에서 배열을 탐색합니다. 다른 이동은 필요하지 않습니다. 1에서 n까지의 요소에 대해 arr[i] 요소 배열의 올바른 위치는 인덱스 i+1보다 높아야 합니다. arr[0]은 1, arr[1]은 2, ....arr[n-1]은 n이어야 합니다. 입력 Arr
우리는 동일한 와이어로 순서대로 연결된 전구의 상태를 나타내는 0과 1의 배열이 제공됩니다. 0은 전구가 꺼져 있음을 나타내고 1은 전구가 켜져 있음을 나타냅니다. N 전구의 이러한 시퀀스에 대해 전구의 스위치를 누르면 오른쪽의 모든 전구(i+1에서 n까지)가 ON에서 OFF로 또는 OFF에서 ON으로 이전 응시를 변경합니다. 모든 전구의 주어진 상태에 대해 목표는 모든 전구를 켜기 위해 눌러야 하는 최소 스위치를 찾는 것입니다. [ 같은 스위치를 여러 번 누를 수 있음 ]. 배열에서 오른쪽 인덱스 값의 상태를 뒤집어 모두 1로
숫자가 들어 있는 배열 target[]이 제공됩니다. 다음 두 가지 작업만 사용하여 [0,0,0,0...]이 모두 0인 배열을 대상으로 변환할 수 있는 최소 단계를 찾아야 합니다. - 증가 연산 - 모든 요소는 1씩 증가할 수 있으며, 각 증가 연산은 개별적으로 단계적으로 계산할 수 있습니다. (n 요소의 n 증분에 대해 steps=n ) 두 배 연산 - 전체 배열이 두 배가 됩니다. 모든 요소에 대해 한 번 계산됩니다. (각 두 배 연산은 모든 요소의 값을 두 배로 하며, 단계적으로 1로 계산합니다. 목표는 목표에
동일한 길이의 문자열 배열이 제공됩니다. 목표는 오름차순으로 정렬되지 않은 열( matrixof strings )을 찾는 것입니다. 예를 들어 문자열의 각 첫 번째 문자는 다음 문자열의 첫 번째 문자와 비교되는 식으로 마지막 문자열까지 비교됩니다. 증가하는 순서가 아니면 개수를 늘립니다. 모든 두 번째 문자에 대해 이 작업을 수행한 다음 마지막 문자까지 모든 문자열의 세 번째 문자에 대해 이렇게 합니다. 입력 Arr[]= { “abc”, “bcd”, “def” } 출력
우리는 숫자의 원형 배열을 받습니다. 원형 배열은 첫 번째 요소가 마지막 요소 바로 옆에 있는 것처럼 처리되도록 요소가 정렬된 배열입니다. 대기열을 구현하는 데 사용됩니다. 각 요소는 같거나 다른 자릿수를 가집니다. 목표는 필요한 경우 요소의 회전을 사용하여 숫자를 연결하여 가능한 가장 높은 숫자를 만드는 것입니다. 우리는 모든 요소의 가장 왼쪽 숫자 중에서 가장 왼쪽 숫자를 찾아 이를 수행합니다. 가장 왼쪽 숫자가 가장 높은 숫자가 첫 번째 자리를 차지합니다. 첫 번째 위치에 있으면 인덱스 1부터 n-1까지의 모든 숫자가
0과 1만 포함하는 정사각형 행렬이 제공됩니다. 0은 빈 공간을 나타내고 1은 장애물을 의미합니다. 우리는 이러한 거울들이 빛을 아래에서 오른쪽으로 전달할 수 있도록 하기 위해 세포를 배치할 수 있는 다수의 거울을 찾아야 합니다. 이것은 미러가 인덱스 [i,j]에 배치되고 해당 특정 행(i)의 오른쪽에 있는 모든 셀과 해당 특정 열의 맨 아래(j)에 있는 셀에 장애물이 없을 때 가능합니다. 미러가 A[i][j]에 있으면 모든 A[i+1 ~ n][ j ] 및 A[ i ][ j+1 ~ n ]은 비어 있습니다. 즉, 아래 그림과 같이
정수, b, c, n이 주어집니다. 목표는 x, y, z의 합을 최대화하여 ax+by+cz=n이 되도록 하는 것입니다. 위 공식에서 cz=n-(ax+by) z= (n- (ax+by))/c x와 y를 고정하여 각 x, y, z에 대해 위의 공식을 사용하여 z를 계산합니다. 합계를 계산하고 얻은 최대 합계를 저장합니다. 입력 n = 6, a = 3, b = 4, c = 5; 출력 maximum x+y+z is 2. 설명 - x=2, y=0 및 z=0에 대해 ax+by+cz=n. 3*2+0*4+0*5=6 =n 입력 n = 4, a
정수 배열이 제공됩니다. 목표는 표현의 가치를 극대화하는 것입니다 - arr[j]-arr[i] + arr[l]-arr[k]; i
우리는 숫자의 행렬로 주어진다. 목표는 주어진 행렬 내부에 존재하는 마방진의 수를 찾는 것입니다. 매직 스퀘어는 행렬로 간주하면 스도쿠의 그리드처럼 1에서 9 사이의 요소를 포함하는 3X3 행렬입니다. 속성은 - 모든 숫자는 정확히 한 번 나타납니다. 행렬에 있는 9개 셀의 합은 45입니다. 3의 각 행의 합은 15입니다. 3의 각 열의 합은 15입니다. 3의 대각선의 합은 5입니다. 이러한 합계를 얻으려면 5가 항상 두 대각선의 중간에 있어야 합니다. 입력 int arr[][]= { { 1,2,3,0 }, { 4,5,6,1
튜링 머신 - 튜링 기계는 유형 0 문법에 의해 생성된 언어의 단어를 받아들이는 데 사용되는 장치입니다. Turing Machine(TM)은 입력이 제공되는 셀로 분할된 무한 길이 테이프로 구성된 수학적 모델입니다. 입력 테이프를 읽는 헤드로 구성되어 있습니다. 상태 레지스터는 튜링 머신의 상태를 저장합니다. 입력된 기호를 읽은 후 다른 기호로 교체되고 내부 상태가 변경되어 한 셀에서 오른쪽 또는 왼쪽으로 이동합니다. TM이 최종 상태에 도달하면 입력 문자열이 수락되고 그렇지 않으면 거부됩니다. TM은 공식적으로 7-튜플(Q, X