中心对称数 II

1.题目描述

中心对称数是指一个数字在旋转了 180 度之后看起来依旧相同的数字(或者上下颠倒地看)。
找到所有长度为 n 的中心对称数。
示例 :
输入: n = 2
输出: ["11","69","88","96"]

2.解题思路

(1)如果n == 0,那么返回“” (空字符串)

(2)如果n == 1, 那么返回“0”, “1”, ”8“

(3)如果n == 2, 那么返回 “11” , “69”, “88”, “96”(这里不包含”00“的情况)

(4)如果n == 3, 那么返回 (这里包含”00“的情况,例如"1001")

  “1” + s + “1”

  “6” + s + “9”

  “8” + s + “8”

  “9" + s + “6”

最外围是对称数,那么s呢,就等于n==1的时候的取值,满足n-2.

add1 = {"0","1","8"}add2 = {"00","11","69","88","96"}

i 是奇数,我们在 i-1 偶数的基础上每个数中间位置 add1

i 是偶数,我们在 i-2 偶数的基础上每个数中间位置 add2

class Solution {
public:
vector<string> findStrobogrammatic(int n) {
if(n <= 0) return {""};
if(n==1) return {"0","1","8"};
vector<vector<string>> dp(n+1);
dp[1] = {"0","1","8"};
dp[2] = {"11","69","88","96"};
vector<string> add1 = {"0","1","8"};
vector<string> add2 = {"00","11","69","88","96"};
string num;
for(int i = 3, j,k,h; i <= n; ++i)
{
if(i&1)//奇数,我们在i-1偶数的基础上每个数中间位置add1
{
for(j = 0; j < dp[i-1].size(); j++)
{
num = dp[i-1][j];
h = num.size()/2;
for(k = 0; k < 3; k++)
{
dp[i].push_back(num.substr(0,h)+add1[k]+num.substr(h));
}
}
}
else//i是偶数,我们在i-2偶数基础上每个数中间位置add2
{
for(j = 0; j < dp[i-2].size(); j++)
{
num = dp[i-2][j];
h = num.size()/2;
for(k = 0; k < 5; k++)
{
dp[i].push_back(num.substr(0,h)+add2[k]+num.substr(h));
}
}
}
}
return dp[n];
}
};

最新文章

  1. iOS Swift-元组tuples(The Swift Programming Language)
  2. android 触摸事件分析
  3. display:inline-block左右元素上下不对齐
  4. redis3.0 集群实战2 - 集群功能实战
  5. JQuery:JQuery添加元素
  6. keil 编译的一些错误
  7. C. Polycarpus&#39; Dice
  8. Mysql 复习
  9. C# - 自定义 DataSet 的使用
  10. 解决ubuntu的gedit显示中文乱码问题
  11. Head First 设计模式目录
  12. Js函数初学者练习(一)switch-case结构实现计算器。
  13. window64 PHP ffmpeg详解简单上手 音频amr转mp3
  14. P1273 有线电视网
  15. python 进程介绍 进程简单使用 join 验证空间隔离
  16. FFMPEG 入门
  17. Qt5——从零开始的学生管理系统
  18. APK反编译、重编译、签名、查看源码
  19. Don&#39;t afraid point
  20. 使用Tomcat部署应用

热门文章

  1. Linux服务器下JVM堆栈信息dump及问题排查
  2. Git-03-工作区和暂存区
  3. 树莓派远程连接工具SSH使用教程
  4. ubuntu与主机ping不通的解决办法(主机检测不到虚拟网卡)
  5. 一个系列搞懂YARN(1)——Yarn架构
  6. NOIP 模拟 $13\; \text{玄学题}$
  7. vue--三种组件中之间的传值
  8. vue 引入 leaflet1.4.0
  9. linux下静态库的制作
  10. Dom4j(解析property)