石头、剪刀、布I
100分解法
我们要尽可能多的赢,无非就是让牛牛现有牌的每一类赢得更多即可。
对于每个牛牛的石头,能赢每个牛妹的剪刀,所以每个牛牛的石头能赢的局数是
对于每个牛牛的剪刀,能赢每个牛妹的布,所以每个牛牛的剪刀能赢的局数是
对于每个牛牛的布,能赢每个牛妹的石头,所以每个牛牛的布能赢的局数是
所以一共能赢的局数即为
时间复杂度o(1),空间复杂度o(1)。
代码如下:
class Solution { public: /** * 请返回牛牛能赢的最多局数 * @param n int整型 * @param p1 int整型 * @param q1 int整型 * @param m1 int整型 * @param p2 int整型 * @param q2 int整型 * @param m2 int整型 * @return int整型 */ int Mostvictories(int n, int p1, int q1, int m1, int p2, int q2, int m2) { // write code here return min(p1,q2)+min(q1,m2)+min(m1,p2); } };