元素最左出現練習

2021-07-27 11:36:30 字數 554 閱讀 8547

對於乙個有序陣列arr,再給定乙個整數num,請在arr中找到num這個數出現的最左邊的位置。

給定乙個陣列arr及它的大小n,同時給定num。請返回所求位置。若該元素在陣列中未出現,請返回-1。

測試樣例:

[1,2,3,3,4],5,3

返回:2

二分查詢,中間值等於num之後,儲存,並繼續向左二分查詢。直到最後。

使用迭代的方法實現。

public:

int findpos(vector

arr, int n, int num)

int binarysearch(vector

arr,int &begin,int &end,int num,int &res)

if (end-begin==1)

if(arr[mid]==num)

else

if(arr[mid]else

end=mid;

return binarysearch(arr,begin,end,num,res);

}};

陣列元素出現次數

10分鐘時間,根據上排給出十個數,在其下排填出對應的十個數 要求下排每個數都是先前上排那十個數在下排出現的次數。上排的十個數如下 0,1,2,3,4,5,6,7,8,9 舉乙個例子,數值 0,1,2,3,4,5,6,7,8,9 分配 6,2,1,0,0,0,1,0,0,0 0在下排出現了6次,1在下...

統計元素出現頻率

from collections import counter import random data random.randint 0,20 for in range 20 print 20個0 20之間的隨機數 data d dict.fromkeys data,0 以data 現的數字為鍵,0為...

演算法練習 移除元素

題目 給定乙個陣列 nums 和乙個值 val,你需要原地移除所有數值等於 val 的元素,返回移除後陣列的新長度。不要使用額外的陣列空間,你必須在原地修改輸入陣列並在使用 o 1 額外空間的條件下完成。元素的順序可以改變。你不需要考慮陣列中超出新長度後面的元素。示例 給定 nums 3,2,2,3...