kinli blog

2018年12月30日 星期日

LeetCode-Search Insert Position

題目:
Given a sorted array and a target value, return the index if the target is found. If not, return the index where it would be if it were inserted in order.
You may assume no duplicates in the array.
Example 1:
Input: [1,3,5,6], 5
Output: 2

解說:
給定一排列過且沒重複元素的陣列跟一個目標值,回傳目標值在這個陣列插入的位置索引值。
先考慮corner case的情況,再處理一般狀況。


int searchInsert(int* nums, int numsSize, int target) {
    int inser_position=0;
    for(int i=0;i<numsSize;i++)
    {
        //目標值比第一個元素小
        if((*(nums+i)>target)&(i==0))
        {   
            inser_position=0;
            break;
        }
        
        //目標值比最後一個元素大
        if((*(nums+i)<target)&(i==(numsSize-1)))
        {   
            inser_position=numsSize;
            break;
        }
        
        if(*(nums+i)<target)
            inser_position=i;
        else if(*(nums+i)==target)
        {
            inser_position=i;
            break;
        }
        else
        {
            inser_position++;
            break;
             
        }   
    }   
    return inser_position;
}

沒有留言:

張貼留言