#力扣 LeetCode1346. 檢查整數及其兩倍數是否存在 @FDDLC
阿新 • • 發佈:2020-12-11
技術標籤:演算法&資料結構
題目描述:
1346. 檢查整數及其兩倍數是否存在 - 力扣(LeetCode) (leetcode-cn.com)
Java程式碼一:主要是處理0的問題
import java.util.HashSet; class Solution { //2 <= arr.length <= 500,-10^3 <= arr[i] <= 10^3 public boolean checkIfExist(int[] arr) { HashSet<Integer> doubleSet=new HashSet<>(); int zeroCount=0; for(int element:arr)if(element==0)zeroCount++; if(zeroCount>1)return true; //有兩個或兩個以上的0 for(int element:arr)if(element!=0)doubleSet.add(element*2); //把該元素的2倍加入集合中 for(int element:arr)if(doubleSet.contains(element))return true; return false; } }
Java程式碼二:
import java.util.HashSet; class Solution { //2 <= arr.length <= 500,-10^3 <= arr[i] <= 10^3 public boolean checkIfExist(int[] arr) { HashSet<Integer> set=new HashSet<>(); for(int element:arr){ if(set.contains(element<<1)||(element&1)==0&&set.contains(element>>1))return true; set.add(element); } return false; } }