赞
踩
题目来源:
leetcode题目,网址:1700. 无法吃午餐的学生数量 - 力扣(LeetCode)
解题思路:
首先对想吃圆形三明治的学生和想吃方形三明治的学生计数,然后遍历 sanwiches 数组,按序将三明治分发给学生(对应学生数)减一直至无人可分(需要当前三明治的学生数为 0 )。最后返回剩余想吃圆形三明治的学生与想吃方形三明治的学生之和。
解题代码:
- class Solution {
- public int countStudents(int[] students, int[] sandwiches) {
- int canEat=0;
- int countStudentCircular=0;
- int countStudentSquare=0;
- for(int student:students){
- if(student==0){
- countStudentCircular++;
- }else{
- countStudentSquare++;
- }
- }
- for(int sandwich:sandwiches){
- if(sandwich==0 && countStudentCircular>0){
- countStudentCircular--;
- }else if(sandwich==1 && countStudentSquare>0){
- countStudentSquare--;
- }else{
- break;
- }
- }
- return countStudentCircular+countStudentSquare;
- }
- }
总结:
官方题解也是一样的思路。
cafeteria 自主餐厅
respectively 分别
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。