1346. Check If N and Its Double Exist

개꡴·2024λ…„ 5μ›” 17일

leetcode

λͺ©λ‘ 보기
4/51
  • python3
  • Review : 20240703

πŸ“Ž Problem

Given an array arr of integers, check if there exist two indices i and j such that :

  • i != j
  • 0 <= i, j < arr.length
  • arr[i] == 2 * arr[j]

Example 1:

Input: arr = [10,2,5,3]
Output: true
Explanation: For i = 0 and j = 2, arr[i] == 10 == 2 * 5 == 2 * arr[j]

Example 2:

Input: arr = [3,1,7,11]
Output: false
Explanation: There is no i and j that satisfy the conditions.

Constraints:

  • 2 <= arr.length <= 500
  • -103 <= arr[i] <= 103

Pseudocode

  1. μ „λΆ€ hash에 λ„£λŠ”λ‹€
  2. κ±°κΈ°μ„œ 비ꡐ

Code

solution of leetcode

class Solution:
    def checkIfExist(self, arr: List[int]) -> bool:
    tmp = set()

	for i in arr:
    	if 2*i in tmp or (i%2 == 0 and i/2 in tmp):
        	return True
        tmp.add(i)

Result

solution of leetcode

  • Time Complexity: O(n)
  • Space Complexity: O(1)
profile
μ•Œμ­λ‹¬μ­ν˜€μš”

0개의 λŒ“κΈ€