zoukankan      html  css  js  c++  java
  • [leetcode]Search Insert Position @ Python

    原题地址:https://oj.leetcode.com/problems/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.

    Here are few examples.
    [1,3,5,6], 5 → 2
    [1,3,5,6], 2 → 1
    [1,3,5,6], 7 → 4
    [1,3,5,6], 0 → 0

    解题思路:二分查找的变种。注意最后一句是return left。

    代码:

    class Solution:
        # @param A, a list of integers
        # @param target, an integer to be inserted
        # @return integer
        def searchInsert(self, A, target):
            left = 0; right = len(A) - 1
            while left <= right:
                mid = ( left + right ) / 2
                if A[mid] < target:
                    left = mid + 1
                elif A[mid] > target:
                    right = mid - 1
                else:
                    return mid
            return left
  • 相关阅读:
    最小生成树
    单源最短路
    插入排序 静态链表转为有序数组
    不定时更新
    huffman
    二叉树
    宽度优先搜索
    深度优先搜索
    链表
    jQuery学习中 attr() 和 prop() 的区别
  • 原文地址:https://www.cnblogs.com/zuoyuan/p/3772705.html
Copyright © 2011-2022 走看看