Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++
  • C 프로그래밍
  •   
  • C++
  •   
  • Redis
  •   
  • BASH 프로그래밍
  •   
  • Python
  •   
  • Java
  •   
  • 데이터 베이스
  •   
  • HTML
  •   
  • JavaScript
  •   
  • 프로그램 작성
  •   
  • CSS
  •   
  • Ruby
  •   
  • SQL
  •   
  • IOS
  •   
  • Android
  •   
  • MongoDB
  •   
  • MySQL
  •   
  • C#
  •   
  • PHP
  •   
  • SQL Server
  • C++

    1. C++의 정렬된 배열 II에서 중복 제거

      정렬된 배열 num이 있다고 가정하고 중복 요소가 최대 두 번 나타나고 새 길이를 반환하도록 중복 요소를 제자리에서 제거해야 합니다. 이 작업을 수행하기 위해 추가 공간을 차지할 수 없습니다. 우리는 이것을 O(1)의 공간으로 해결해야 합니다. 예를 들어 배열이 [0,0,0,1,1,1,1,2,3,3]과 같으면 출력은 [0,0,1,1,2,3,3]이 됩니다. , 길이는 7 단계를 살펴보겠습니다 - len :=2 및 n :=배열 크기 n <=2이면 n을 반환합니다. i:=2 ~ n nums[i] !=nums[len - 2] 또는 nu

    2. C++에서 회전 정렬된 배열 II에서 검색

      오름차순으로 정렬된 배열이 있다고 가정합니다. 그것은 우리에게 미리 알려지지 않은 어떤 피벗에서 회전합니다. 예를 들어 배열이 [0,0,1,2,2,5,6]과 같으면 [2,5,6,0,0,1,2]가 될 수 있습니다. 검색할 대상 값이 있습니다. 그것이 배열에서 발견되면 true를 반환하고 그렇지 않으면 false를 반환합니다. 따라서 배열이 [2,5,6,0,0,1,2]이고 대상이 0이면 출력은 0이 됩니다. 단계를 살펴보겠습니다 - low :=0 및 high :=배열 크기 낮음 <높음 동안 중간 :=낮음 + (높음 -

    3. C++에서 숫자의 K번째 최하위 비트 인쇄

      이 문제에서는 두 개의 숫자 n과 k가 주어집니다. 우리의 임무는 k번째를 인쇄하는 것입니다. 숫자 n의 최하위 비트. 문제를 이해하기 위해 예를 들어보겠습니다. Input: n = 12 , k = 3 Output 1 Explanation: Let’s see the binary representation of n: 12 = 1100 이제 3번째 최하위 비트는 1입니다. 이 문제를 해결하기 위해 숫자의 이진 비트를 사용합니다. 그리고 숫자의 k번째 비트를 생성합니다. 이를 위해 숫자의 이진 이동을 사용하고 숫자(k-1

    4. C++의 정렬된 목록 II에서 중복 제거

      몇 가지 요소의 목록이 있다고 가정합니다. 한 번 이상 발생한 모든 요소를 ​​제거해야 합니다. 따라서 고유한 요소만 목록에 남습니다. 따라서 목록이 [1,1,1,2,2,3,5,6,6,7,8]과 같으면 출력은 [3,5,7,8]이 되고 다른 모든 요소는 존재합니다. 한 번 이상. 단계를 살펴보겠습니다 - 값이 -1인 더미 노드 생성, 이전 :=NULL, dummyPtr :=더미 head가 null이 아닌 동안 head의 다음이 존재하거나 head의 값이 다음 노드의 값과 같지 않으면 dummyPtr 옆:=머리 temp :=헤드의

    5. C++에서 숫자의 원시

      이 문제에서는 숫자 n이 주어집니다. 우리의 임무는 초기 번호를 인쇄하는 것입니다. 기본 번호 (Pn#)은 처음 n개의 소수를 곱한 숫자입니다. 원시 수는 수 n의 계승과 유사합니다. 차이점은 계승은 임의의 숫자가 될 수 있지만 원시 숫자의 경우 모든 소수가 사용된다는 것입니다. 문제를 이해하기 위해 예를 들어보겠습니다. Input: N = 4 Output 210 Explanation: Primorial number, Pn# = 2 * 3 * 5 * 7 = 210 이 문제를 해결하려면 처음 n개의 소수를 찾아야 합니다. 원시

    6. C++의 부분집합 II

      숫자 집합이 있다고 가정합니다. 우리는 그 집합의 가능한 모든 부분집합을 생성해야 합니다. 이를 전원 세트라고도 합니다. 요소가 중복될 수 있음을 명심해야 합니다. 따라서 집합이 [1,2,2]와 같으면 거듭제곱 집합은 [[], [1], [2], [1,2], [2,2], [1,2,2 ]] 단계를 살펴보겠습니다 - 하나의 배열 res와 x라는 다른 집합을 정의합니다. 재귀적 접근 방식을 사용하여 이 문제를 해결할 것입니다. 따라서 재귀 메서드 이름이 solve()라고 하고 인덱스, 임시 배열 1개, 숫자 배열(nums)을 사용하는

    7. C++에서 소수 n 모듈로 n의 기본 근

      이 문제에서 소수 N이 주어집니다. 우리의 임무는 소수 N 모듈로 N의 원시근을 출력하는 것입니다. 기본 루트 소수 N의 는 k가 [0, n-2]에 있는 xk(mod n)의 모든 값이 고유하도록 [1, n-1] 사이에 있는 정수 x입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input: 13 Output: 2 이 문제를 해결하려면 오일러의 토티엔트 함수라는 수학 함수를 사용해야 합니다. . 오일러의 Totient 함수는 숫자 n에 대해 상대적으로 소수인 1에서 n까지의 숫자의 개수입니다. 숫자 i는 GCD(i, n

    8. C++의 프라임 트리플렛

      이 문제에서 숫자 N이 주어집니다. 우리의 임무는 N보다 작은 모든 소수 삼중항을 인쇄하는 것입니다. 프라임 트리플렛 세 개의 소수의 집합입니다. (p, p+2, p+6) 또는 (p, p+4, p+6) 형식입니다. 모든 소수는 직접 패턴의 모든 세 번째 소수가 6의 배수이므로 위의 삼중항에 따라 그룹화됩니다. 문제를 이해하기 위한 예를 살펴보겠습니다. Input: N = 13 Output: 5 7 11 이 문제를 해결하려면 N보다 작은 모든 소수를 찾아야 합니다. 그리고 삼중항을 확인합니다. 솔루션 구현을 보여주는 코드 예시

    9. C++의 역방향 연결 목록 II

      연결된 목록이 있다고 가정합니다. 노드를 m 위치에서 n 위치로 반전시켜야 합니다. 한 번에 완료해야 합니다. 따라서 목록이 [1,2,3,4,5]이고 m =2 및 n =4이면 결과는 [1,4,,3,2,5]가 됩니다. 단계를 살펴보겠습니다 - reverseN() 및 reverseBetween()의 두 가지 방법이 있습니다. reverseBetween()이 기본 메서드로 작동합니다. 후계자라는 하나의 링크 노드 포인터를 null로 정의 reverseN은 다음과 같이 작동합니다 - n =1이면 후속 작업 :=헤드의 다음이고 헤드를 반

    10. C++의 프라임 문자열

      이 문제에서는 문자열이 제공됩니다. 우리의 임무는 YES / NO를 인쇄하는 것입니다. 기반은 문자열의 문자의 ASCII 값의 합이 소수인지 아닌지입니다. ASCII 값은 문자 인코딩입니다. 소수 숫자 자체와 1로만 나누어 떨어지는 숫자입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input: string = “Hello” Output:No 이 문제를 해결하려면 문자열의 모든 문자에 대한 ASCII 값의 합을 찾아야 합니다. 그리고 그 합을 변수에 저장하고 그 합이 소수인지 아닌지를 확인한다.

    11. C++의 프라임 포인트(숫자를 두 개의 소수로 나누는 포인트)

      이 문제에서 우리는 숫자 N이 주어집니다. 우리의 임무는 숫자의 모든 소수점을 출력하는 것이고, 그렇지 않으면 소수점이 없다면 -1을 출력하는 것입니다. 프라임 포인트 숫자를 두 개의 소수로 나누는 인덱스 값입니다. 하나는 왼쪽에, 다른 하나는 오른쪽에 있습니다. 문제를 이해하기 위해 예를 들어보겠습니다. Input: 2359 Output: 1 설명 :인덱스 1에서 숫자를 나눌 때. 2와 59를 두 개의 소수로 얻습니다. 이 문제를 해결하기 위해 숫자에 대해 좌우 나누기가 가능한지 확인합니다. 유효한 경우 생성할 수 있는 모

    12. C++의 소수와 피보나치

      이 문제에서는 숫자 n이 주어집니다. 우리의 임무는 n보다 작거나 같은 모든 소수와 피보나치 수를 출력하는 것입니다. 문제를 이해하기 위해 예를 들어보겠습니다. Input: n = 30 Output: 2 3 5 13 설명 30보다 작은 피보나치 수는 1 1 2 3 5 8 13 21입니다. 이 숫자 중 소수는 2 3 5 13입니다. 이 문제를 해결하려면 n보다 작은 피보나치 수열의 모든 숫자가 소수인지 확인해야 합니다. 이를 위해 n보다 작거나 같은 모든 소수를 찾습니다. 그리고 생성된 숫자가 피보나치 수열에 포함되어 있

    13. C++의 연결 목록 주기 II

      연결 리스트가 있다고 가정하고 순환이 있는지 없는지 확인해야 합니다. 주어진 연결 목록에서 주기를 나타내기 위해 pos라는 정수 포인터 하나를 사용합니다. 이 위치는 연결 리스트에서 꼬리가 연결된 위치를 나타냅니다. 따라서 pos가 -1이면 연결 목록에 사이클이 없습니다. 예를 들어 연결 리스트는 [5, 3, 2, 0, -4, 7]과 같으며, pos =1입니다. 따라서 주기가 있고 두 번째 노드에 tail이 연결됩니다. 제약 조건은 목록을 수정할 수 없다는 것입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 느림 :=

    14. C++에서 합 S가 있는 소수 P 이후의 소수

      이 문제에서는 합 S, 소수 P, N의 세 가지 숫자가 주어집니다. 우리의 임무는 합이 S와 같은 P보다 큰 모든 N 소수를 찾는 것입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input: N = 2, P = 5, S = 18 Output: 7 11 Explanation: Prime numbers greater than 5 : 7 11 13 Sum = 7 + 11 = 18 이 문제를 해결하려면 P와 S 사이의 모든 소수를 찾아야 합니다. 그런 다음 합이 S가 되는 N개의 소수를 찾아야 합니다. 이를 위해 역추적을 사용합

    15. Python의 이진 트리 선주문 순회

      이진 트리가 있다고 가정합니다. 해당 트리의 선주문 순회를 반환해야 합니다. 트리가 다음과 같다면 - 그러면 선주문 순회는 [3,9,20,15,7]이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − res 및 st라는 빈 목록을 만듭니다. 노드:=루트 노드 또는 st가 비어 있지 않은 동안 노드가 null이 아닌 경우 노드의 val을 res에 삽입하고 노드를 st에 삽입하고 node :=노드의 왼쪽으로 설정 temp :=st의 마지막 요소, st의 마지막 요소 삭제 임시 권한이 있는 경우 노드:=임시의 오

    16. 삽입 정렬 목록 C++

      연결 목록이 있다고 가정하고 이 목록에 대해 삽입 정렬을 수행해야 합니다. 따라서 목록이 [9,45,23,71,80,55]와 같으면 정렬된 목록은 [9,23,45,55,71,80]입니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − 더미 :=임의의 값을 가진 새로운 노드 노드 :=주어진 목록 노드가 null이 아닌 동안 newNode =다음 노드, dummyHead :=더미 다음, prevDummyHead :=더미 사실일 때 - 노드의 값 다음 노드 :=dummyHead prevD

    17. C++의 이진 표현에서 설정된 비트의 소수

      이 문제에서는 두 개의 정수 L과 R이 주어집니다. 우리의 과제는 L에서 R 사이에 있는 소수로 계산되는 비트를 가진 총 숫자를 인쇄하는 것입니다. 문제를 이해하기 위해 예를 들어보겠습니다. Input: L = 7, R = 12 Output: 6 Explanation: 7 -> 111 , set bits = 2, prime number. 8 -> 1000 , set bits = 1, not prime number. 9 -> 1001 , set bits = 2, prime number 10 -> 1010 , s

    18. C++에서 배열 요소의 LCM의 소인수

      이 문제에서는 1 <=arr[i] <=1012 범위 내의 배열이 제공됩니다. . 우리의 임무는 배열의 모든 요소에 대한 LCM의 모든 소인수를 인쇄하는 것입니다. 문제를 이해하기 위해 예를 들어 보겠습니다. Input: array = {2 , 5 , 15} Output: 2 3 5 Explanation: LCM = 30 Factors of 30 = 2 * 3 * 5 이 문제를 해결하려면 먼저 배열 숫자의 LCM을 찾은 다음 LCM의 인수를 찾고 모든 소수를 소수로 지정해야 합니다. 이것은 컴파일러가 10^6 차수의 LCM을 찾

    19. C++의 회전 정렬 배열에서 최소값 찾기

      배열이 있고 정렬되어 있다고 가정하고 배열이 우리에게 알려지지 않은 일부 피벗에서 회전한다고 가정합니다. 따라서 회전된 배열에서 최소값을 찾아야 합니다. 따라서 배열이 [3,4,5,1,2]와 같으면 출력은 1이 됩니다. 이 문제를 해결하기 위해 다음 단계를 따릅니다. − low :=0 및 high :=배열의 마지막 인덱스, n :=배열의 크기, ans :=무한대 낮은 동안 <=높음 중간 :=낮음 + (높음 - 낮음)/2 arr[low]

    20. C++에서 큰 수의 소인수

      이 문제에서는 정수 N <=10^18이 주어집니다. 우리의 임무는 발생 빈도와 함께 숫자의 모든 소인수를 출력하는 것입니다. 문제를 이해하기 위해 예를 들어보겠습니다. Input: 100 Output: 2 2    5 2 Explanation: prime factorization of 100 = 2 * 2 * 5 * 5. 이 문제를 해결하려면 숫자의 소인수를 찾은 다음 빈도를 계산해야 합니다. 이를 위해 2의 빈도를 요소로 확인하고 숫자를 2로 나눕니다. 그런 다음 3에서 제곱근 n까지 확인합니다. 숫자의 인

    Total 5992 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:131/300  20-컴퓨터/Page Goto:1 125 126 127 128 129 130 131 132 133 134 135 136 137