• Find if all numbers appear an even number of times


    package _interview_question
    
    /**
     * Given a list/array of integers, return a boolean that states whether all numbers appear an even number of times.
    
    Example 1:
    Input: [3, 1, 2, 1, 2, 3]
    Output: true
    
    Example 2:
    Input: [1, 2, 1]
    Output: false
    
    Example 3:
    Input: [1, 2, 3]
    Output: false
     * */
    class Solution4 {
        fun findAllIfAppearEvenTime(nums: IntArray): Boolean {
            /*
            method 1: Time complexity: O(n), Space complexity: O(n)
            * */
            val map = HashMap<Int, Int>()
            for (num in nums) {
                map.put(num, map.getOrDefault(num, 0) + 1)
            }
            for (item in map) {
                if (item.value % 2 != 0) {
                    return false
                }
            }
            return true
    
            /*
            * method 2: Time complexity: O(nlogn), Space complexity: O(1)
            * */
            if (nums.size % 2 != 0) {
                return false
            }
            nums.sort()
            var sameNumAppearCount = 1
            for (i in 0 until nums.size - 1) {
                if (nums[i] == nums[i + 1]) {
                    sameNumAppearCount++
                } else {
                    if (sameNumAppearCount % 2 != 0) {
                        return false
                    } else {
                        sameNumAppearCount = 1
                    }
                }
            }
            return true
        }
    }
  • 相关阅读:
    FSL
    64位MicrosoftOfficeWord加载EndnoteX7
    Lobes of the brain
    Anterior and posterior commissures
    Broadmann area (wiki)
    Broadmann分区
    matlab FDR校正
    AI图片剪切
    DPABI advanced edition 文件夹组织形式
    Frequently Asked Questions
  • 原文地址:https://www.cnblogs.com/johnnyzhao/p/12986827.html
Copyright © 2020-2023  润新知