题解 | #大胃王牛牛#

大胃王牛牛

https://www.nowcoder.com/practice/4e55777e218b4850928d054a8cddaf50

知识点:贪心

思路:牛牛从最初的位置开始,每次都觉得自己可以!当发现不行的时候,就从下一处开始。牛牛总是觉得自己可以!

牛牛的什么时候停下来?

1.牛牛一直在走,当走完一圈,还在尝试的时候,牛牛应该停下来,告诉农场主,你这牧草tm根本不够!

2.牛牛一直在走,当再次走到自己最初尝试的地方,牛牛完成了这次冒险!

编程语言:java

如果我的思路启发了你,给个小小关注吧~

我是废江,一个从java跑到内核再准备润回java的打工人,我会持续分享从linux内核到上层java微服务等干货

import java.util.*;


public class Solution {
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     *
     * @param grass int整型一维数组
     * @param cost int整型一维数组
     * @return int整型
     */
    public int can_complete_circuit (int[] grass, int[] cost) {
        // write code here
        int len = grass.length;
        int i = 0, start = 0; //牛牛开始的地方
        int eat = 0; //牛牛吃的
        boolean flag = false;//标记第二圈
        while (true) {
            eat = eat + grass[i] - cost[i];
            if (eat < 0) {
                if (flag)
                    return -1;//牛牛不是傻子,当发现第二圈了,我tm不尝试了!
                //牛牛走不动了,牛牛不放弃,下一个地方尝试
                eat = 0;
                start = i + 1;
            }
            if (start == i && flag)
                return start+1;
            i++;
            if (i >= len) {
                i = i % len;
                flag = true;
            }
        }
    }
}

全部评论

相关推荐

有没有友友知道hr面会问什么我应该反问什么?还有如何防止hr套话啊?还有应该如果催hr推进快一点#字节#OPPO#hr面
牛客989988346号:职业规划,优缺点,为什么选择这个岗,对应聘公司产品的了解和满意度,如果让你改进公司产品你会怎么做,对ai(新技术)的了解,有无其他offer,什么时候能到岗
点赞 评论 收藏
分享
今天 15:47
已编辑
陕西理工大学 财务
认真搞学习:这个真喷不了,你是我见过最美的牛客女孩
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务