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 twoconsecutive "++" 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 [].


    解题思路:

    看清题意,目的是“Write a function to compute all possible states of the string after one valid move.” 找出有效移动一次后的所有可能结果。那么只要能找出连续的“++”,加上前面的和后面的,就得到了一个结果。

    Complexity: O(n)


    Java code:

    public class Solution {
        public List<String> generatePossibleNextMoves(String s) {
            List<String> result = new ArrayList<String>();
            for(int i = 1; i< s.length(); i++){
                if(s.charAt(i-1) == '+' && s.charAt(i) == '+'){
                    result.add(s.substring(0,i-1) + "--" + s.substring(i+1));
                }
            }
            return result;
        }
    }

    Reference:

    1. https://leetcode.com/discuss/64335/simple-solution-in-java

  • 相关阅读:
    消除共模干扰的方法
    C#模拟键盘事件
    获取本地IP V4 出现::1
    生成ssh密钥
    苹果应用商店DNS修改加快下载速度
    模算术 modular arithmetic
    有限域和质数的幂
    rere
    test
    图信号处理进行大数据分析
  • 原文地址:https://www.cnblogs.com/anne-vista/p/4886775.html
Copyright © 2011-2022 走看看