zoukankan      html  css  js  c++  java
  • 247. Strobogrammatic Number II

    A strobogrammatic number is a number that looks the same when rotated 180 degrees (looked at upside down).

    Find all strobogrammatic numbers that are of length = n.

    For example,
    Given n = 2, return ["11","69","88","96"].

    dfs

    public class Solution {
        //dfs
        //考虑 0110的状况 主要是去掉0
        public List<String> findStrobogrammatic(int n) {
            List<String> member = new ArrayList<>();
            member = dfs(n, n);  
            return member;
        }
        public List<String> dfs(int n , int m) {
            if(n == 0) {
                ArrayList<String> member = new ArrayList<>();
                member.add("");
                return new ArrayList<>(member);
            }
            if(n == 1) {
                ArrayList<String> member = new ArrayList<>();
                member.add("0");
                member.add("1");
                member.add("8");
                return new ArrayList<>(member);
            }
            List<String> list = dfs(n - 2, m);
            ArrayList<String> newList = new ArrayList<String>(); // from bottom to top consider 0
            for(int i = 0 ; i< list.size(); i++){
                newList.add("1" + list.get(i) + "1");
                newList.add("6" + list.get(i) + "9");
                newList.add("9" + list.get(i) + "6");
                newList.add("8" + list.get(i) + "8");
                if(n != m) //去0 like 0110, 0880
                    newList.add("0" + list.get(i) + "0");
            }
            return newList;
        }
        
    }

    from bottom to up consider 0 like n =4 0110,0000

  • 相关阅读:
    升级到virtualbox2.1.4
    gentool 工具 modulerebuild
    解决man乱码问题
    关于HyperV的Linux驱动
    使用tmpfs优化firefox
    使用gmbox下载google歌曲
    升级到xorgserver1.5时出现的问题
    windows下使用where命令
    CSS中一些渐变效果与透明
    asp.net下密码框的一些小问题
  • 原文地址:https://www.cnblogs.com/joannacode/p/5965889.html
Copyright © 2011-2022 走看看