目錄
-
- 上期
-
- 連結
- 自己答案
- 答案
- 其他答案
- 本期
-
- 問題
- 示例
- 限制
- 回答
上期
連結
2021-05-24每日一題 (數組中重複的數字)
自己答案
class Solution {
public int findRepeatNumber(int[] nums) {
int result = -1;
boolean flag =false;
for (int i = 0; i < nums.length; i++) {
for ( int j = i+1; j<nums.length;j++) {
if (nums[i] == nums[j]) {
result = nums[i];
flag = true;
}
}
if (flag) {
break;
}
}
return result;
}
}
class Solution {
public int findRepeatNumber(int[] nums) {
int result = -1;
HashSet<Integer> sets = new HashSet<Integer>();
for (int i = 0; i < nums.length; i++) {
if (!sets.add(nums[i])) {
result = nums[i];
break;
}
}
return result;
}
}
答案
class Solution {
public int findRepeatNumber(int[] nums) {
Set<Integer> set = new HashSet<Integer>();
int repeat = -1;
for (int num : nums) {
if (!set.add(num)) {
repeat = num;
break;
}
}
return repeat;
}
}
其他答案
本期
問題
在一個 n * m 的二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個高效的函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。
示例
現有矩陣 matrix 如下:
[
[1, 4, 7, 11, 15],
[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10, 13, 14, 17, 24],
[18, 21, 23, 26, 30]
]
給定 target = 5,傳回 true。
給定 target = 20,傳回 false。
限制
0 <= n <= 1000
0 <= m <= 1000
回答
2021-05-26 每日一題 (2021-05-26 每日一題 (替換空格))