A题(暴力)
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
* 返回牛牛能喝的最多的酒
* @param m int整型 酒单价
* @param n int整型 牛牛的现金
* @return int整型
*/
int countWine(int m, int n) {
// write code here
int i=1000;
int a=n/m;
int b=n/m;
int sum=n/m;
while(i)
{
i--;
int t=0;
t+=a/2;
t+=b/4;
sum+=t;
a=a-a/2*2;
b=b-b/4*4;
a+=t;
b+=t;
}
return sum;
}
};B题(二分答案)
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
* @param x string字符串
* @return int整型
*/
int check(int x,string s)
{
int a1=0;
int a2=0;
int a3=0;
for(int i=0;i<s.length();i++)
{
if(s[i]=='c'&&a3<x&&a1==x&&a2==x)
a3++;
if(s[i]=='b'&&a2<x&&a1==x)
a2++;
if(s[i]=='a'&&a1<x)
a1++;
}
if(a1==x&&a2==x&&a3==x)
return 1;
return 0;
}
int Maximumlength(string x) {
// write code here
int l=0;
int r=x.length();
while(r-l>1)
{
int mid=l+r>>1;
if(check(mid,x))
l=mid;
else
{
r=mid;
}
}
return l*3;
}
};C题(博弈论,打表找规律)
class Solution {
public:
/**
*
* @param n int整型
* @param p int整型
* @param q int整型
* @return int整型
*/
int Gameresults(int n, int p, int q)
{
// write code here
if (n <= p)
return 1;
if (p >= q)
{
if (p > q)
return 1;
if (p == q)
{
if (n % (q+1) == 0)
return -1;
else
return 1;
}
}
return -1;
}
};
京公网安备 11010502036488号