劍指offer 問題29

2021-08-29 12:19:56 字數 908 閱讀 8679

package offer;

/** * offer interview 29

*/public class test29

int result = numbers[0];

int count = 1;

for (int i = 1; i < numbers.length; i++)else if(result == numbers[i])else

}count = 0;

for (int number : numbers)

}if (count > numbers.length /2)else

}public static void main(string args);

system.out.println(morethanhalfnum(numbers));

// 出現次數超過陣列長度一半的數字都出現在陣列的前半部分

int numbers2 = ;

system.out.println(morethanhalfnum(numbers2));

// 出現次數超過陣列長度一半的數字都出現在陣列的後半部分

int numbers3 = ;

system.out.println(morethanhalfnum(numbers3));

// 只有乙個數

int numbers4 = ;

system.out.println(morethanhalfnum(numbers4));

// 輸入空指標

//morethanhalfnum(null);

// 不存在出現次數超過陣列長度一半的數字

int numbers5 = ;

morethanhalfnum(numbers5);

}}

劍指Offer (29)最小的k個數

題目描述 輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4。實現如下 測試用例中給出的返回值是有序的。嘖嘖。找到序列中最小的k個數,利用set,對數字進行insert或erase 紅黑樹中查詢 插入 刪除操作都為 o logk 最...

劍指offer 29 最小的K個數

題目 輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4,思路分析 簡單思路 先快排,再取數 coding utf 8 class solution def getleastnumbers solution self,tinput,...

劍指offer 29 最小的K個數

輸入n個整數,找出其中最小的k個數。例如輸入4,5,1,6,2,7,3,8這8個數字,則最小的4個數字是1,2,3,4。最簡單容易想到的就是先排序,然後輸出前k個數即可。但是這樣明顯時間複雜度比較高。也可以使用另外的方法,具體不再詳述。class solution for int i 0 i inp...