LeetCode-035-搜索插入位置

題目描述:給定一個(gè)排序數(shù)組和一個(gè)目標(biāo)值,在數(shù)組中找到目標(biāo)值,并返回其索引。如果目標(biāo)值不存在于數(shù)組中,返回它將會(huì)被按順序插入的位置。
你可以假設(shè)數(shù)組中無(wú)重復(fù)元素。
示例說(shuō)明請(qǐng)見LeetCode官網(wǎng)。
來(lái)源:力扣(LeetCode) ??
鏈接:https://leetcode-cn.com/problems/search-insert-position/ ??
著作權(quán)歸領(lǐng)扣網(wǎng)絡(luò)所有。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系官方授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處。
解法一:暴力破解法
首先,如果nums是null或者為空,直接返回0;
從nums的第一個(gè)元素開始遍歷,當(dāng)target不大于當(dāng)前元素時(shí),返回當(dāng)前元素的索引位;
target更大的元素,則返回nums.length。
解法二:二分查找法
二分查找的解法,low和high分別是數(shù)組的第一位和最后一位,mid為
(low+high)/2
,判斷mid的值是否和target相等,根據(jù)大小分別移動(dòng)low和high,直到low不小于high為止,返回結(jié)果。
【每日寄語(yǔ)】 只要你奔跑,這個(gè)世界就會(huì)跟著你奔跑。確定一個(gè)方向,使勁的跑起來(lái),這個(gè)世界會(huì)為你讓路。
標(biāo)簽: