1. 程式人生 > >Leetcode(35) 搜尋插入位置

Leetcode(35) 搜尋插入位置

題目描述
給定一個排序陣列和一個目標值,在陣列中找到目標值,並返回其索引。如果目標值不存在於陣列中,返回它將會被按順序插入的位置。
你可以假設陣列中無重複元素。
示例 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

解題思路
最近這幾道簡單難度的題,思路基本都差不多,最簡單的方法是就是使用兩個指標,一個是原始陣列的位置指標,一個是目標的位置指標,在這道題中,需要尋找是否有重複的數字,則在迴圈中,判斷是否相同即可,如相同,直接返回該位置,如果不相同的話,利用另外一個指標來進行計數,記小於目標數的個數,返回個數即可
程式碼如下

class Solution {
public:
    int searchInsert(vector<int>& nums, int target) {
        int j=0;
        for(int i=0;i<nums.size();i++)
        {
            if(nums[i]==target)
            {
                return i;
            }
            if(nums[i]<target)
            {
                j++;
            }
        }
        return j;
    }
};