题解 | 买橘子

买橘子

https://www.nowcoder.com/practice/73e0552b78474a9086781e47f4e01d73

#include<bits/stdc++.h>
using namespace std;

int main(){
	int n,num=-1;
	cin>>n;
	if(n<6||n%2!=0)
		num=-1;
	else{
		for(int i=n/8;i>=0;i--){
			int shenyu=n-i*8;
			if(shenyu%6==0){
				num=i+shenyu/6;
				break;
			}
            
		}
	}
	cout<<num;
	return 0;
}

第二个题解呢,实打实的明显控制了最大容量的袋数,通过逐袋递减的方式求出总袋数。并且在处理奇数数据上降低了时间复杂度。

贪心算法的一种体现(先找最小袋数)再做后续处理。

全部评论

相关推荐

04-13 09:56
已编辑
嵌入式工程师
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务