1. 首页
  2. 软件开发
  3. day-49 让所有学生保持开心的分组方法数

day-49 让所有学生保持开心的分组方法数

  • 发布于 2024-09-26
  • 1 次阅读


思路
利用Collections.sort()函数对数组进行排序,依次向后遍历即可,如果nums.get(i)i+1

解题过程
注意特殊情况:全选和不选要单独讨论

Code

class Solution {

    public int countWays(List<Integer> nums) {

        int len=nums.size();
        Collections.sort(nums);
        int ans=0;
        for(int i=0;i<len-1;i++){

         if(nums.get(i)<i+1&&nums.get(i+1)>i+1){

                ans++;
            }

        }
        if(nums.get(0)>0)ans++;
        if(nums.get(len-1)<len)ans++;
        return ans;
    }
}

作者:菜卷
链接:https://leetcode.cn/problems/happy-students/solutions/2904871/rang-suo-you-xue-sheng-bao-chi-kai-xin-d-9nxo/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

原文链接: https://blog.csdn.net/qq_53568730/article/details/141903130