對於乙個有序陣列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...