zoukankan      html  css  js  c++  java
  • Flip Game II -- LeetCode

    You are playing the following Flip Game with your friend: Given a string that contains only these two characters: + and -, you and your friend take turns to flip two consecutive "++" into "--". The game ends when a person can no longer make a move and therefore the other person will be the winner.

    Write a function to determine if the starting player can guarantee a win.

    For example, given s = "++++", return true. The starting player can guarantee a win by flipping the middle "++" to become "+--+".

    Follow up:
    Derive your algorithm's runtime complexity.

    思路:递归求解。

     1 class Solution {
     2 public:
     3     bool canWin(string s) {
     4         for (int i = 1; i < s.size(); i++)
     5             if (s[i] == '+' && s[i-1] == '+') {
     6                 s[i] = s[i-1] = '-';
     7                 if (!canWin(s)) return true;
     8                 s[i] = s[i-1] = '+';
     9             }
    10         return false;
    11     }
    12 };
  • 相关阅读:
    mysql基础知识
    django知识
    gitlab的CICD搭建记录
    nginx的基础知识
    JAVA基础知识总结——part1
    【Python】python基础练习题_1
    【Docker】——Linux下搭建docker环境
    day3
    python_day2
    python_day1
  • 原文地址:https://www.cnblogs.com/fenshen371/p/5816543.html
Copyright © 2011-2022 走看看