給你乙個整數陣列 arr,請你檢查是否存在兩個整數 n 和 m,滿足 n 是 m 的兩倍(即,n = 2 * m)。
更正式地,檢查是否存在兩個下標 i 和 j 滿足:
i != j
0 <= i, j < arr.length
arr[i] == 2 * arr[j]
輸入:arr = [10,2,5,3]
輸出:true
解釋:n = 10 是 m = 5 的兩倍,即 10 = 2 * 5 。
輸入:arr = [7,1,14,11]
輸出:true
解釋:n = 14 是 m = 7 的兩倍,即 14 = 2 * 7 。
輸入:arr = [3,1,7,11]
輸出:false
解釋:在該情況下不存在 n 和 m 滿足 n = 2 * m 。
用陣列生成乙個set, 然後遍歷set查詢item是否存在item*2的元素, 有就返回true, 沒有就返回false.
但是但是, 測試用例裡有0的情況, 需要特別判斷下, 如果0的數量只有乙個, 那就是繼續set判斷; 如果0的數量超過了2個, 那就可以直接返回true了
class solution
}let set = set.init(arr)
for item in set
if set.contains(item*2)
}return false
}}
陣列和字串 至少是其他數字兩倍的最大數
在乙個給定的陣列nums中,總是存在乙個最大元素 查詢陣列中的最大元素是否至少是陣列中每個其他數字的兩倍。如果是,則返回最大元素的索引,否則返回 1。示例 1 輸入 nums 3,6,1,0 輸出 1解釋 6是最大的整數,對於陣列中的其他整數,6大於陣列中其他元素的兩倍。6的索引是1,所以我們返回1...
陣列和字串 至少是其他數字兩倍的最大數
在乙個給定的陣列nums中,總是存在乙個最大元素 查詢陣列中的最大元素是否至少是陣列中每個其他數字的兩倍。如果是,則返回最大元素的索引,否則返回 1。示例 1 輸入 nums 3,6,1,0 輸出 1解釋 6是最大的整數,對於陣列中的其他整數,6大於陣列中其他元素的兩倍。6的索引是1,所以我們返回1...
找出整數陣列中兩兩相加等於key的整數對
前天在某個公司的現場筆試中遇到一道程式設計題,很簡單,然後當時直接寫了個雙重迴圈 public static arraylistfindnumcouple1 int array,int key else if array left array right key else return strarr...