数出现的最左边的位置

    xiaoxiao2025-12-05  1

    对于一个有序数组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(n==0){ return -1; } int left=0; int right=n-1; while(left<right){ if(arr[left]==arr[right]){ return left; } int mid=left+(right-left)/2; if(arr[mid]>num){ right=mid-1; } else if(arr[mid]<num){ left=mid+1; } else { right=mid; } } return left; } };
    转载请注明原文地址: https://ju.6miu.com/read-1304634.html
    最新回复(0)