本文主要是介绍day-49 让所有学生保持开心的分组方法数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
思路
利用Collections.sort()函数对数组进行排序,依次向后遍历即可,如果nums.get(i)<i+1&&nums.get(i+1)>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)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
这篇关于day-49 让所有学生保持开心的分组方法数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!