美文网首页
6_3元素最左出现

6_3元素最左出现

作者: X_Y | 来源:发表于2017-09-29 10:05 被阅读10次

对于一个有序数组arr,再给定一个整数num,请在arr中找到num这个数出现的最左边的位置。

给定一个数组arr及它的大小n,同时给定num。请返回所求位置。若该元素在数组中未出现,请返回-1。

测试样例:
输入:[1,2,3,3,4],5,3
返回:2

class LeftMostAppearance {
public:
    int findPos(vector<int> arr, int n, int num) {
        // write code here
        if(0 == n) return -1;
//        if(num == arr[0]) return 0;
        int l = 0, r = n - 1, res = -1;
        while(l <= r){
            int mid = l + (r - l) / 2;
            if(arr[mid] == num){
                res = mid;
                r = mid - 1;
            }else if(arr[mid] < num){
                l = mid + 1;
            }else{
                r = mid -1;
            }
        }
        return res;
    }
};

相关文章

  • 6_3元素最左出现

    对于一个有序数组arr,再给定一个整数num,请在arr中找到num这个数出现的最左边的位置。 给定一个数组arr...

  • 元素最左出现练习题

    对于一个有序数组arr,再给定一个整数num,请在arr中找到num这个数出现的最左边的位置。给定一个数组arr及...

  • 经典排序算法-选择排序Selection sort

    一、选择排序思想:查找最小(大)的元素与最左端未排好序的元素交换,步骤如下: 1、从左到右查找找到最大(小)的元素...

  • 数据结构学习笔记——第四章:栈

    一、栈 1. 栈的特点   ①只有最右侧(顶部)元素可见,最左侧(底部)元素不可见  ②只提供pop和push两个...

  • 浮动元素与边距合并

    float即为浮动,在CSS中的作用是使元素脱离正常的文档流并使其移动到其父元素的“最左边”或“最右边”。下面解释...

  • IDEA URI Is Not Registered

    IDEA的配置的xml出现Is Not Registere可以选中链接,这样最左侧会出现一个灯泡,选择Fetch ...

  • 6_3 继承

  • 快速排序

    快速排序就的思想为,首相选出数组中一个元素(一般为最左边或者最右边的元素),然后从左向右一次比较数组中的元素和选择...

  • 八大排序算法的Python实现__2__选择排序

    个人技术博客地址:http://songmingyao.com/ 原理 默认最左侧的元素为最小,而后依次将右侧的每...

  • vant3.x 进度条上增加跟随提示元素

    f12研究看到数字百分比是0的时候 元素就在最左边,100的时候元素就在最右边,50的时候就在进度刻度线的中间,还...

网友评论

      本文标题:6_3元素最左出现

      本文链接:https://www.haomeiwen.com/subject/dwnbextx.html