2022.2.5-----leetcode.2155

public static List<Integer> maxScoreIndices(int[] nums) {
        int[] score=new int[2];//左右得分
        int[] cnt=new int[2];//0和1的数量
        List<Integer> ans=new ArrayList<>();//记录最大得分下标
        for (int i = 0; i < nums.length; i++) {
            if(nums[i]==0)
                cnt[0]++;
            else
                cnt[1]++;

        }
        //定义i=0时为初始状态
        score[1]=cnt[1];
        ans.add(0);
        int max=cnt[1];//记录历史最大得分
        //遍历计算得分,当max更新时,ans也更新
        for (int i = 1; i < nums.length+1; i++) {
            //
            if(nums[i-1]==0)
                score[0]++;
            else
                score[1]--;
            if(max<score[0]+score[1])
            {
                max=score[0]+score[1];
                ans.clear();
                ans.add(i);
            }
            else if(max==score[0]+score[1])
            {
                ans.add(i);
            }


        }
        return ans;
    }

上一篇:Android 极光推送快速开发集成指南,android屏幕适配框架


下一篇:来造小轮胎吧!应该可能也许没什么用的“模拟”四则运算