0
点赞
收藏
分享

微信扫一扫

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;
    }
举报

相关推荐

0 条评论