457. Classical Binary Search

Description
Find any position of a target number in a sorted array. Return -1 if target does not exist.
Have you met this question in a real interview? Yes
Example
Given [1, 2, 2, 4, 5, 5].

For target = 2, return 1 or 2.

For target = 5, return 4 or 5.

For target = 6, return -1.
Challenge
O(logn) time

class Solution:
    """
    @param: nums: An integer array sorted in ascending order
    @param: target: An integer
    @return: An integer
    """
    def findPosition(self, nums, target):
        # write your code here
        if not nums:
            return -1
        start = 0
        end = len(nums) -1
        while (start + 1) < end:
            mid = start + (end - start)//2
            if nums[mid] == target:
                # find the last position
                end = mid
            if nums[mid] < target:
                start = mid
            else:
                end = mid
        if nums[end] == target:
            return end;
        if nums[start] ==target:
            return start
        else:
            return -1

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • pyspark.sql模塊 模塊上下文 Spark SQL和DataFrames的重要類: pyspark.sql...
    mpro閱讀 9,929評(píng)論 0 13
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom閱讀 3,219評(píng)論 0 3
  • “第一次打開游戲請(qǐng)?jiān)试S“使用數(shù)據(jù)”,否則游戲無(wú)法正常運(yùn)行。” 終極豪華版大家來(lái)找茬游戲! 這是一款經(jīng)典的找不同游戲...
    旬日閱讀 545評(píng)論 0 1
  • 成本會(huì)計(jì)費(fèi)用常見的26種會(huì)計(jì)做賬手法,讓你做賬不再煩惱,能幫助你完成工作。 1基本建設(shè)領(lǐng)用材料,計(jì)入產(chǎn)品生產(chǎn)成本 ...
    李輝_0468閱讀 637評(píng)論 0 4
  • 每每有人問(wèn)起喝普洱茶多久了,“快兩年了吧”,然后人家就會(huì)自然而然地以為我對(duì)普洱茶的了解應(yīng)該是比較多的。而我,...
    語(yǔ)笑嫣然勰閱讀 280評(píng)論 0 1

友情鏈接更多精彩內(nèi)容