在排序陣列中查詢元素

2022-07-13 18:51:09 字數 1164 閱讀 1657

34.在排序陣列中查詢元素的第乙個和最後乙個位置。

給定乙個按照公升序排列的整數陣列 nums,和乙個目標值 target。找出給定目標值在陣列中的開始位置和結束位置。

你的演算法時間複雜度必須是 o(log n) 級別。

如果陣列中不存在目標值,返回 [-1, -1]。

*/#include

#include

#include

#include

#include

#include

#include

/*尋找左側邊界

*/int left_bound(int* nums, int numssize,int

target)

else

if(nums[mid]<=target)

else

}if(left>=numssize||nums[left]!=target)

return -1

;

return

left;}/*

尋找右側邊界

*/int right_bound(int* nums, int numssize, int

target)

else

if(nums[mid]<=target)

else

}if(right<0||nums[right]!=target)

return -1

;

return left-1;}

int* searchrange(int* nums, int numssize, int target, int*returnsize)

intmain()

,target=8

;

int *returnsize=(int*)malloc(sizeof(int

));

int *rs=searchrange(nums,6

,target,returnsize);

int k=*returnsize,i;

for(i=0;i)

return0;

}

leetcode 18 在排序陣列中查詢元素

給定乙個按照公升序排列的整數陣列 nums,和乙個目標值 target。找出給定目標值在陣列中的開始位置和結束位置。你的演算法時間複雜度必須是 o log n 級別。如果陣列中不存在目標值,返回 1,1 二分查詢,然後再遞迴二分查詢 head,mid 1 mid 1,tail 結果絕世 right ...

在排序陣列中查詢數字

題目一 數字在排序陣列 現的次數。統計乙個數字在排序陣列 現的次數。例如,輸入排序 陣列和數字3,由於3在這個數 組 現了4次,因此輸出4。設計乙個改進的二分查詢法,分別查詢陣列中第乙個該數字和最後乙個該數字,找到之後 利用索引計算中間該數字的個數 package helen.c public cl...

在排序陣列中查詢數字

統計乙個數字在排序陣列 現的次數。例如,輸入排序陣列和數字3,由於3在這個陣列 現了4次,因此輸出4。有序陣列,二分查詢 思路 用二分查詢分別找到待找數字的第乙個和最後乙個 class solution def getnumberofk self,data,k number 0 if data no...