题解 | #二分查找-I#

二分查找-I

https://www.nowcoder.com/practice/d3df40bd23594118b57554129cadf47b

using System;
using System.Collections.Generic;


class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param nums int整型一维数组
     * @param target int整型
     * @return int整型
     */
    private static int K_sum;
    public int search (List<int> nums, int target) {
        // write code here
        if (nums.Count < 1) {
            return -1;
        }
    
    else if (nums.Count < 2) {
        if (nums[0] == target) {
            return K_sum;
        } else
            return -1;
    }
    int k = nums.Count / 2;
    if (nums[k - 1] == target) {
        return k - 1 + K_sum;
    } else if (nums[k - 1] > target) {
        List<int> arr_cut = nums.GetRange(0, k - 1);
        return search(arr_cut, target);
    } else if (nums[k - 1] < target) {
        List<int> arr_cut = nums.GetRange(k, nums.Count - k);
        K_sum += k;
        return search(arr_cut, target);
    }
    return -1;
}
}

全部评论

相关推荐

牛客51274894...:照片认真的吗,找个专门拍证件照的几十块钱整端正点吧,要不就别加照片
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务