题解 | 买橘子
买橘子
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;
}
第二个题解呢,实打实的明显控制了最大容量的袋数,通过逐袋递减的方式求出总袋数。并且在处理奇数数据上降低了时间复杂度。
贪心算法的一种体现(先找最小袋数)再做后续处理。
查看23道真题和解析