zoukankan      html  css  js  c++  java
  • Leetcode: Flip Game

    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 compute all possible states of the string after one valid move.
    
    For example, given s = "++++", after one move, it may become one of the following states:
    
    [
      "--++",
      "+--+",
      "++--"
    ]
    If there is no valid move, return an empty list [].
     1 public class Solution {
     2     public List<String> generatePossibleNextMoves(String s) {
     3         List<String> res = new ArrayList<String>();
     4         if (s==null || s.length()<=1) return res;
     5         for (int i=0; i<s.length()-1; i++) {
     6             if (s.charAt(i)=='+' &&s.charAt(i+1)=='+') 
     7                 res.add(process(s, i));
     8         }
     9         return res;
    10     }
    11     
    12     public String process(String s, int i) {
    13         StringBuffer result = new StringBuffer();
    14         result.append(s.substring(0, i));
    15         result.append("--");
    16         result.append(s.substring(i+2));
    17         return result.toString();
    18     }
    19 }
  • 相关阅读:
    G
    O
    M
    K-Hero
    J
    G
    F
    Codeforces Round #327 (Div. 2) A Wizards' Duel (水题)
    C++各大有名科学计算库(转)
    矩阵算法 高斯消元 行列式 矩阵的秩
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/5081422.html
Copyright © 2011-2022 走看看