• 多数元素


    此博客链接:

    多数元素

    题目链接:https://leetcode-cn.com/problems/majority-element/

    题目

    给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。

    你可以假设数组是非空的,并且给定的数组总是存在多数元素。

    示例 1:

    输入:[3,2,3]
    输出:3
    示例 2:

    输入:[2,2,1,1,1,2,2]
    输出:2
     

    进阶:

    尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。

    题解

     使用map,把数组中元素当成键,把数组中的元素个数当成值,再次遍历map,找值大于2/n的键是多少。

    代码

    class Solution {
        public int majorityElement(int[] nums) {
            Map <Integer,Integer> map=new HashMap();
            for(int num:nums){
                int count=map.getOrDefault(num,0)+1;
                map.put(num,count);
            }
            int min=nums.length/2;
            for(Integer temp:map.keySet())
            {
                // System.out.println(temp);
                // System.out.println(map.get(temp));
                if(map.get(temp)>min)
                {
                    return temp;
                }
            }
            return 0;
        }
    }

    结果

     只出现一次的元素

    题目链接:https://leetcode-cn.com/problems/single-number/

    题目

    给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。

    说明:

    你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?

    示例 1:

    输入: [2,2,1]
    输出: 1
    示例 2:

    输入: [4,1,2,1,2]
    输出: 4

    题解

    此题和上面一题的思路是一样的,使用Map来存储元素的值,元素的个数存储在value中,最后遍历Map,判断元素个数为一的元素是哪个。

    代码

    class Solution {
        public int singleNumber(int[] nums) {
            Map <Integer,Integer> map=new HashMap();
            for(Integer num:nums)
            {
                int count=map.getOrDefault(num,0)+1;
                map.put(num,count);
            }
            for(Integer temp:map.keySet())
            {
                if(map.get(temp)==1)
                {
                    return temp;
                }
            }
            return -1;
        }
    }

    结果

    出来混总是要还的
  • 相关阅读:
    runloop源代码
    runloop的source
    How an Event Enters a Cocoa Application
    RunLoop主要处理以下6类事件
    NSRunloop总结
    performSelector与objc_msgSend
    iOSUI显示思想
    NSPort与NSRunloop的关系是流与消息调度的关系
    Core Animation 负责将bitmap绑定提交到 GPU-[CALayer _display]
    iOS构建流畅的交互界面--CPU,GPU资源消耗的原因和解决方案
  • 原文地址:https://www.cnblogs.com/ping2yingshi/p/15136397.html
Copyright © 2020-2023  润新知