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

  • 相关阅读:
    文件操作
    xadmin的使用
    Vue
    Redis
    Django
    python小结
    利用线程池和回调函数爬虫
    drf-基表、断关联表关系、级联删除、正方向查询、子序列化
    drf序列化
    drf初识
  • 原文地址:https://www.cnblogs.com/joannacode/p/5965889.html
Copyright © 2011-2022 走看看