# 题目内容

# 解法一,暴力破解

if (nums.indexOf(target) !== -1) {
    return nums.indexOf(target)
} else {
    for(let i = nums.length - 1; i >= 0; i--) {
        if (target > nums[i]) {
            return i + 1
        } else if (i === 0 ){
            return i
        }
    }
}
1
2
3
4
5
6
7
8
9
10
11

对于else中的情况,还有优化的空间。一开始使用target和每个元素正序比较。以nums为[1,3,5,6]和target为4为例。如果用我的方式来比较,当14比较的时候也满足条件,但这样是有问题的。如果现在的代码是逆序从后往前挨个比较。

所以优化的空间的在于,每个元素跟目标值比较就好了。

if(nums[i]>target){
    return i
}
1
2
3

# 解法二

一笔写于: 5/24/2020, 4:34:20 PM
扫码添加我的微信
个人
个人号
公众号
公众号