国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

229. Majority Element II

2019-11-08 03:20:13
字體:
來源:轉載
供稿:網友

Given an integer array of size n, find all elements that appear more than ? n/3 ? times. The algorithm should run in linear time and in O(1) space.

基于Boyer-Moore Majority Vote algorithm的思想,代碼如下:

public class Solution {    public List<Integer> majorityElement(int[] nums) {        List<Integer> res = new ArrayList<Integer>();        if (nums.length == 0) {            return res;        }        int count1 = 0, count2 = 0, num1 = 0, num2 = 0;        for (int num: nums) {            if (num == num1) {                count1 ++;            } else if (num == num2) {                count2 ++;            } else if (count1 == 0) {                num1 = num;                count1 = 1;            } else if (count2 == 0) {                num2 = num;                count2 = 1;            } else {                count1 --;                count2 --;            }        }        count1 = 0; count2 = 0;        for (int num : nums) {            if (num == num1) {                count1 ++;            } else if (num == num2) {                count2 ++;            }        }        if (count1 > nums.length / 3) {            res.add(num1);        }        if (count2 > nums.length / 3) {            res.add(num2);        }        return res;    }}


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大兴区| 安阳县| 库尔勒市| 伽师县| 石河子市| 孝昌县| 会理县| 麻栗坡县| 黎城县| 加查县| 汪清县| 佛坪县| 饶阳县| 白水县| 行唐县| 开化县| 砀山县| 怀化市| 金华市| 鄂尔多斯市| 台山市| 稷山县| 黄龙县| 康乐县| 五常市| 庆云县| 衡东县| 大厂| 隆子县| 平安县| 昔阳县| 云林县| 黄冈市| 临洮县| 兴国县| 玉山县| 鲜城| 饶河县| 曲沃县| 松溪县| 华容县|