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

  • 相关阅读:
    CF528D Fuzzy Search
    P3489 付公主的背包
    有标号的DAG计数
    P4609 [FJOI2016]建筑师
    mds/journal.cc: 2929: FAILED assert解决
    Ceph根据Crush位置读取数据
    关于backfill参数建议
    rados put striper功能的调试
    Cephfs的文件存到哪里了
    为什么删除的Ceph对象还能get
  • 原文地址:https://www.cnblogs.com/joannacode/p/5965889.html
Copyright © 2011-2022 走看看