C++ 표준 템플릿 libraray(STL)에서 iswctype() 함수는 주어진 와이드 문자에 desc로 지정된 속성이 있는지 확인하는 데 사용됩니다. Iswctype()은 헤더 파일이 ctype.h인 내장 함수입니다. Iswctype()의 구문은 다음과 같습니다. int iswctype(wint_t c, wctype_t desc); iswctype () / Checks whether whether c has the property specified by desc. / 시놉시스 int iswctype(wint_t c, wctyp
숫자 배열이 있다고 가정합니다. n개의 정수를 저장하고 배열에 4개의 요소 a, b, c 및 d가 있습니다. + b + c + d =target과 같은 또 다른 목표 값이 있습니다. 상황을 만족하는 배열에서 모든 고유한 사중항을 찾습니다. 따라서 배열이 [-1,0,1,2,0,-2]이고 대상이 0이면 결과는 [[-1, 0, 0, 1],[-2, -1, 1, 2], [-2, 0, 0, 2]] 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 실제 합계는 kSum()이라는 함수를 사용하여 수행됩니다. 이것은 배열, 시작, k 및 대상
연결 목록이 있다고 가정합니다. 인접한 두 노드를 모두 교환하고 헤드를 반환해야 합니다. 제약 조건은 노드 값을 수정할 수 없으며 노드 자체만 변경할 수 있다는 것입니다. 따라서 목록이 [1,2,3,4]와 같으면 결과 목록은 [2,1,4,3]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 머리가 없으면 머리를 반환 첫 번째 :=헤드, 두 번째 :=헤드 다음, 더미는 값이 -1인 하나의 새 노드입니다. 더미의 다음 :=첫 번째, 이전 :=더미 초가 null이 아닌 동안 temp :=다음 초 첫 번째 다음:=두 번째
두 개의 정수 피제수와 제수가 있다고 가정합니다. 곱셈, 나눗셈, mod 연산자를 사용하지 않고 두 정수를 나누어야 합니다. 피제수를 제수로 나눈 몫을 반환합니다. 정수 나누기는 0으로 잘려야 합니다. 두 입력 모두 정수입니다. 따라서 주어진 입력이 피제수 =7, 제수 =-3이면 출력은 -2가 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − x와 y 두 인수를 취하면 x가 y를 나눕니다. x <-무한대이고 y =1이면 무한대를 반환합니다. a :=|x|, b :=|y| 및 ans :=0 =0 p :=0 =0 p :=
이 문제에서 정수 X가 주어집니다. 우리의 임무는 0에서 X로 변환하는 데 수행되는 총 단계 수를 찾는 것입니다. 유효한 변환 − A에서 B로 한 번의 변환이 발생할 때 한 단계가 계산됩니다. 변환이 수행되는 조건은 A !=B 및 A &B =A(&는 비트 AND)입니다. 따라서 1단계는 A에서 B로 변환하는 것이며 0을 X로 변환하는 최대 단계 수를 계산하는 프로그램을 만들어야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 - X =7 출력 - 3 설명 - 0에서 7로 변환해야 합니다. Steps taken wi
이 문제에서는 배열이 제공됩니다. 우리의 임무는 C++에서 최대 두 개의 요소를 반전시킨 후 최대 부분배열 합을 찾는 프로그램을 만드는 것입니다. 문제 설명 − 여기에서 배열의 두 숫자의 부호를 반전할 때 최대 합을 생성하는 하위 배열을 찾아야 합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 - 배열 ={-5, 1, 3, 8, -2, 4, 7} 출력 − 30 설명 − 인덱스 0에서 6까지의 요소를 고려하고 값 -5와 -2를 반전하여 최대 합을 갖는 배열을 얻습니다. 이 문제를 해결하기 위해 동적 프로그래밍 방식
이 문제에서는 배열과 정수 k가 제공됩니다. 우리의 임무는 C++에서 최대 k 배열 요소의 부호를 뒤집어 최대 하위 배열 합을 찾는 프로그램을 만드는 것입니다. 코드 설명 − 여기에서 이 배열에서 생성된 하위 배열의 합이 최대가 되도록 배열에서 뒤집을 최대 k개의 요소를 찾아야 합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 - 배열 ={1, -2, 7, 0} k =2 출력 − 10 설명 - -2인 하나의 요소만 뒤집을 것입니다. 그러면 가능한 최대값인 배열 합이 10이 됩니다. 이 문제를 해결하기 위해 i번째 배
이 문제에서는 배열과 숫자 k가 제공됩니다. 우리의 임무는 C++에서 주어진 배열을 k번 반복하여 형성된 배열에서 최대 부분배열 합을 찾는 프로그램을 만드는 것입니다. 문제 설명 − 여기에서 주어진 배열을 k번 반복하여 형성된 배열로 구성된 부분배열의 최대 합을 구합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 - 배열 ={3, 5, 1} k =2 출력 − 18 설명 - array formed by repeating k times, array = {3, 5, 1, 3, 5, 1} Maximum subarray su
문제 설명 양수 및 음수 배열이 주어지면 해당 배열의 최대 하위 배열 합계를 찾으십시오. 예시 입력 배열이 − {-12, -5, 4, -1, -7, 1, 8, -3}이면 출력은 9입니다. 알고리즘 입력 배열의 접두사 합을 계산합니다. 초기화- min_prefix_sum =0, res =-무한 i =0에서 n에 대한 루프를 유지합니다. (n은 입력 배열의 크기입니다). cand =prefix_sum[i] – 미니 할 수 있고 res보다 크면(지금까지의 최대 하위 배열 합계), res를 그대로 업데이트합
이 문제에서 크기 n과 정수 m의 배열이 제공됩니다. 우리의 임무는 C++에서 최대 부분배열 합 모듈로 m을 찾는 프로그램을 만드는 것입니다. 프로그램 설명 − 여기서, subarray의 모든 요소의 합을 m으로 나눈 최대값을 구합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 - 배열 ={4, 9,2} m =6 출력 - 5 설명 − 모든 부분배열과 나누기의 나머지 부분 {4}:4%6 =4{9}:9%6 =3{2}:2%6 =2{4, 9}:13%6 =1{9, 2}:11%6 =5{4, 9, 2}:15%6 =3 이 문제를
문제 설명 음이 아닌 정수의 배열과 정수 k가 주어지면 비트 OR이 k와 같은 최대 길이의 하위 집합을 찾습니다. 예 If given input array is = [1, 4, 2] and k = 3 then output is: [1, 2] The bitwise OR of 1 and 2 equals 3. It is not possible to obtain a subset of length greater than 2. 알고리즘 다음은 비트 OR −의 속성입니다. 0 OR 0 = 0 1 OR 0 = 1 1 OR 1 = 1 비트
이 문제에서는 정수 N이 주어집니다. 우리의 임무는 C++에서 N을 제수로 반복적으로 나눈 후 최대 합을 찾는 프로그램을 만드는 것입니다. 프로그램 설명 - 숫자 N을 1이 될 때까지 재귀적으로 나눈 다음 모든 제수를 합산하고 모든 제수의 최대값을 찾습니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 - N =12 출력 − 22 설명 − 숫자를 재귀적으로 나누어 합을 구해봅시다. Division 1: 12/2 = 6 Division 2: 6/2 = 3 Division 3: 3/3 = 1 Sum = 12+6+3+1 =
문제 설명 N개의 숫자 배열이 주어졌을 때, 작업은 동일한 수의 세트 비트를 가진 숫자를 더함으로써 얻을 수 있는 최대 합을 찾는 것입니다. 예시 입력 배열이 {2, 5, 8, 9, 10, 7}이면 출력은 14 −가 됩니다. 2의 설정 비트 수는 1입니다. 5의 설정 비트 수는 2 8의 설정 비트 수는 1 9의 설정 비트 수는 2 10에 설정된 비트 수는 2입니다. 7의 설정 비트 수는 3 그런 다음 (5 + 9 + 10)의 합은 24이고 설정 비트 수는 2입니다. 알고리즘 배열을 순회
문제 설명 숫자의 직각 삼각형이 주어졌을 때, 각 경로에서 다음 숫자가 바로 아래 또는 아래에 위치하도록 경로에 나타나는 숫자의 합 중 가장 큰 것을 찾으십시오. -오른쪽 예시 If given input is: 3 4 5 1 10 7 Then maximum sum is 18 as (3 + 5 + 10). 알고리즘 아이디어는 마지막 행의 모든 셀에서 끝나는 가장 큰 합계를 찾고 이 합계의 최대값을 반환하는 것입니다. 위의 두 셀을 재귀적으로 고려하여 이러한 합계를 재귀적으로 계산할 수 있습니다. 하위 문제가 겹치기 때문에
이 문제에서는 행렬이 주어집니다. 우리의 임무는 C++의 행렬에서 모래시계의 최대 합을 찾는 프로그램을 만드는 것입니다. 프로그램 설명 − 여기에서 주어진 행렬 요소에 대해 생성할 수 있는 모든 모래시계의 최대 합을 찾습니다. 모래시계 는 다음과 같은 형태로 행렬에서 만들어진 7개의 요소 모양입니다. X X X X X X X 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 - array ={ {2 4 0 0} {0 1 1 0} {4 2 1 0
이 문제에서는 배열 arr가 제공됩니다. 우리의 임무는 C++에서 주어진 배열의 모든 회전 중에서 i*arr[i]의 최대 합을 찾는 프로그램을 만드는 것입니다. 프로그램 설명 − 여기에서 회전에서 배열의 모든 요소의 합에 인덱스 {i * arr[i]}를 곱한 최대 합을 찾습니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 - 배열 arr ={4, 8, 1, 5} 출력 − 37 설명 - All rotations with the sum of i*arr[i] : {4, 8, 1, 5} = 4*0 + 8*1 + 1*2 + 5
이 문제에서는 배열과 정수 k가 제공됩니다. 우리의 임무는 c++에서 최대 요소로 k를 사용하여 겹치지 않는 부분 배열의 길이의 최대 합을 찾는 프로그램을 만드는 것입니다. 문제 설명 - 여기에 배열과 정수 k가 있습니다. 이 배열에서 생성할 수 있는 겹치지 않는 모든 하위 배열을 찾아야 합니다. 그리고 생성된 모든 하위 배열의 길이를 합산합니다. 문제를 이해하기 위해 예를 들어보겠습니다. 입력 - 배열 ={3, 7, 1, 2, 3, 1, 6, 3, 2, 5} k =3 출력 - 7 설명 - 최대 요소가 3인 비중첩 하위 배
이 문제에서는 이진 트리가 제공됩니다. 우리의 임무는 C++에서 주어진 이진 트리의 모든 수준 중에서 잎이 아닌 노드의 최대 합을 찾는 프로그램을 만드는 것입니다. 문제 설명 - 우리는 트리의 모든 잎이 아닌 노드와 모든 레벨의 합계를 계산한 다음 최대 합계를 출력합니다. 문제를 이해하기 위해 예를 들어 보겠습니다. 입력 - 출력 − 9 설명 - 각 수준에서 잎이 아닌 노드의 합 - Level 1: 4 Level 2: 1+2 = 3 Level 3: 9 (4, 7 are leaf nodes) Level 4: 0 이 문제
문제 설명 n*n 행렬을 고려하십시오. 행렬의 각 셀에 할당된 값이 있다고 가정합니다. i행의 각 셀에서 i+1행의 대각선으로 더 높은 셀로만 이동할 수 있습니다[즉, cell(i, j)에서 cell(i+1, j-1) 및 cell(i+1, j+1) 오직]. 최대 합이 얻어지도록 위에서 언급한 조건에 따라 맨 위 행에서 맨 아래 행까지의 경로를 찾습니다. 예시 If given input is: { {5, 6, 1, 17}, {-2, 10, 8, -1}, { 3,
문제 설명 두 개의 정렬된 배열이 주어지면 이러한 배열에는 몇 가지 공통 요소가 있을 수 있습니다. 임의의 배열의 시작에서 두 배열의 끝까지 도달하는 최대 합 경로의 합을 찾으십시오. 공통 요소에서만 한 배열에서 다른 배열로 전환할 수 있습니다. 공통 요소가 동일한 색인에 있을 필요는 없습니다. 예상 시간 복잡도는 O(m+n)입니다. 여기서 m은 arr1[]의 요소 수이고 n은 arrs2[]의 요소 수입니다. 예시 If given input is then output is 35 arr1[] = {2, 3, 7, 10, 12} a