Leetcode---挿入位置の検索(python 3実装)

1819 ワード

タイトルの説明
ソート配列とターゲット値を指定し、配列内にターゲット値を見つけ、インデックスを返します.ターゲット値が配列に存在しない場合は、順番に挿入される位置を返します.
配列に重複要素がないと仮定できます.
例1:
入力:[1,3,5,6],5出力:2例2:
入力:[1,3,5,6]、2出力:1
この問題は比較的簡単で、理解しにくい点があまりないので、私たちは直接実現します.
コード実装:3つの方法で実装
class Solution:
    '''
          
    '''
    def searchInsert(self, nums, target):
        '''
                ,          :
            1.           ,           ,        
            2.               ,        +1,        
        :param nums:     
        :param target:       
        :return:            
        '''
        for i in range(len(nums)):
            if target <= nums[i]:
                return i
        return i+1



    def searchInsert_1(self, nums, target):
        '''
               ,          :
            1.             :          ,    ,       ,            ,    init_n
            2.            :           ,    init_n
        :param nums:     
        :param target:       
        :return:            
        '''
        init_n = 0
        for i in range(len(nums)):
            if target > nums[i]:
                init_n +=1
        return init_n



    def searchInsert_2(self, nums, target):
        '''
                   
        :param nums:     
        :param target:       
        :return:            
        '''
        start = 0
        end = len(nums) - 1
        while start <= end:
            mid = (start + end) // 2
            if nums[mid] > target:
                end = mid - 1
            elif nums[mid] < target:
                start = mid + 1
            else:
                return mid
        return start


li = [1,3,5]
num =0
result = Solution().searchInsert(li,num)
print(result)