檢查陣列中整數及其兩倍數是否存在

2021-10-14 10:15:19 字數 748 閱讀 1675

給你乙個整數陣列 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...