劍指Offer 陣列 (11)

2021-09-02 19:21:52 字數 791 閱讀 5321

知識點/資料結構:陣列flag:這道題目一定要記!!!

題目描述

統計乙個數字在排序陣列中出現的次數。

思路:方法1

看到題目一種最簡單的解法就是把整個陣列遍歷一下

public class solution 

int firstk = getfirstk(array, k, 0, length-1);

int lastk = getlastk(array, k, 0, length-1);

if(firstk != -1 && lastk != -1)

return 0;

}//遞迴寫法

private int getfirstk(int array , int k, int start, int end)

int mid = (start + end)/2;

if(array[mid] > k)else if (array[mid] < k)else if(mid-1 >=0 && array[mid-1] == k)else

}//迴圈寫法

private int getlastk(int array , int k, int start, int end)else if(array[mid] < k)else if(mid+1 < length && array[mid+1] == k)else

mid = (start + end)/2;

}return -1;

}}

劍指offer 陣列

資料是最簡單的資料結構,它佔據一塊連續的記憶體並按照順序儲存資料。建立陣列時,首先指點陣列的容量大小,然後根據大小分配記憶體。缺點 空間效率不高。經常有空閒的區域滅有得到充分利用。優點 時間效率很高。可以根據時間效率高的特點,來實現簡單的雜湊表 把陣列的下標設為雜湊表的鍵值,陣列中的每乙個數字設為雜...

劍指offer 陣列

public class 03 陣列中的重複數字 swap number,number i i return 1 交換 public void swap int number,int i,int j public class 03 陣列中的重複數字 return 1 public intfindre...

劍指offer 陣列

問題描述 在乙個二維陣列中 每個一維陣列的長度相同 每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。function find target,array return false 問題描述 在乙個長度...