Code12 검색 삽입 위치

이야기

leetcode35. 삽입 위치 찾기
정렬 된 배열과 대상 값이 주어지면 배열에서 대상 값을 찾아 인덱스를 반환하고
, 대상 값이 배열에 없으면 삽입 될 위치를 순서대로 반환합니다.
배열에 중복 요소가 없다고 가정 할 수 있습니다.

예 1 :
입력 : [1,3,5,6], 5
출력 : 2

예 2 :
입력 : [1,3,5,6], 2
출력 : 1

예 3 :
입력 : [1,3,5,6], 7
출력 : 4

예 4 :
입력 : [1,3,5,6], 0
출력 : 0

암호

// C
int searchInsert(int* nums, int numsSize, int target) {
    
    
  int i = 0;
  while ((i < numsSize) && (nums[i] < target)){
    
    
    ++i;
  }
  return i;
}

// C++
#include <vector>
#include <algorithm>
using namespace std;
class Solution {
    
    
 public:
  int searchInsert(vector<int>& nums, int target) {
    
    
    auto it = nums.begin();
    while((it != nums.end()) && (*it < target)){
    
    
      ++it;
    }
    return it - nums.begin();
  }
};

테스트

#include <iostream>
int main() {
    
    
  {
    
    
    // C
    int nums[] = {
    
    1, 3, 5, 6};
    int target = 5;
    cout << searchInsert(nums, 4, 5) << endl;
  }
  {
    
    
    // C++
    std::vector<int> nums = {
    
    1, 3, 5, 6};
    int target = 5;
    Solution s;
    cout << s.searchInsert(nums, target);
  }
  cin.get();
  return 0;
}
  • 결과:
2
2

추천

출처blog.csdn.net/luoshabugui/article/details/109538301