Problem

You know a password is well-ordered string. Well-ordered string means that the order of the characters is in an alphabetical increasing order. Like “abEm” is a well-ordered number. However, “abmE” is not a well-order number. Given an input# that tells you also how many digits are in the password, print all possible

Solution

Recursive + DFS

 1     public static List<List<String>> hackCode(int num) {
 2         List<List<String>> res = new ArrayList<List<String>>();
 3         if (num < 0) {
 4             return res;
 5         }
 6
 7         List<String> ls = new ArrayList<String>();
 8         helper(res, ls, 0, num, 0);
 9         return res;
10     }
11
12     public static void helper(List<List<String>> res, List<String> ls, int prev,
13             int num, int pos) {
14         if (pos == num) {
15             res.add(new ArrayList<String>(ls));
16             return;
17         }
18
19         for (int i = prev; i < 26; i++) {
20             char c = (char) ('a' + i);
21             ls.add(String.valueOf(c));
22             helper(res, ls, i + 1, num, pos + 1);
23             ls.remove(ls.size() - 1);
24         }
25     }

转载于:https://www.cnblogs.com/superbo/p/4111922.html

Well-ordered String相关推荐

  1. JDBC增删改查练习案例

    目录 先创建数据库表 查询全部信息 步骤: 非红色为不变的步骤 添加 根据ID更新数据 根据ID删除数据 先创建数据库表 CREATE DATABASE if not EXISTS info char ...

  2. 软件框架技术1(MyBatis)

    目录 1.软件框架技术概述: 1.1为什么会出现软件框架技术? 1.2框架概述 1.3框架的优势 2.Maven 2.1.maven是什么 2.2maven依赖管理 2.3仓库 ​编辑2.4maven ...

  3. JavaWeb --MYSql(MySql基础,MySql高级,JDBC,从类路径下加载输入流对象)

    SQL分类 DDL(Data Definition Language)数据库定义语言,用来定义数据库对象:数据库,表,列等(操作数据库,表等) DML(Data Manipulation Langua ...

  4. vue+element ui 项目 后台管理系统

      前端界面 <!DOCTYPE html> <html lang="en"> <head><meta charset="UTF ...

  5. JSP之JSTL标签

    JSP标准标签库(Jsp Standarded Tag Library) ,使用标签取代JSP页面上的Java代码.如下代码就是JSTL标签 在pom.xml导入坐标: <dependency& ...

  6. JDBC的的CRUD

    JDBC 今日目标 掌握JDBC的的CRUD 理解JDBC中各个对象的作用 掌握Druid的使用 1,JDBC概述 在开发中我们使用的是java语言,那么势必要通过java语言操作数据库中的数据.这就 ...

  7. JDBC——商品品牌数据的增删改查操作

    JDBC练习--完成商品品牌数据的增删改查操作 一.准备环境 1.数据库表tb_brand 2.实体类Brand /*** 品牌* alt+鼠标左键,整列编辑* 在实体类中,基本数据类型建议使用其对应 ...

  8. Javaweb8==未实现前后端分离的列表展示、新增、删除、修改功能。 servlet(逻辑处理,封装数据进域对象,转发到jsp)+jsp(el表达式获取域对象中的数据+JSTL替换if for)。

    最终环境配置: IDEA2021+JDK8+mysql connector java5+Mysql5+mybatis3.5:从数据库取出数据. +(servlet+jsp+el表达式jstl):ser ...

  9. java从入门到精通二十四(三层架构完成增删改查)

    java从入门到精通二十四(三层架构完成增删改查) 前言 环境准备 创建web项目结构 导入依赖和配置文件 创建层次模型 实现查询 实现添加 实现修改 完成删除 做一个用户登录验证 会话技术 cook ...

  10. 20220722_JavaWeb最终案例

    由于本案例工程较为复杂,原本按功能分开写的后端代码都被整合在一个文件里了,无法按照分段思路将步骤依次记录在此,所以直接给出所有代码文件的最终形式 完成后的结构图,其中old包下的代码文件丢弃不用,Us ...

最新文章

  1. PACBIO:经历9件大事,终获一致认可?
  2. glance服务上传镜像的时候,报错HTTPInternalServerError (HTTP 500)
  3. webchart= php 解码,Web Pages - Chart 帮助器
  4. 用javascript实现自动隐藏页面字段
  5. GetLastInputInfo 判断离开状态
  6. 数字电路反相器符号_数字电路の门电路(1)
  7. java web服务_将Java服务公开为Web服务
  8. [vue] 你有自己用vue写过UI组件库吗?
  9. 通过boundingRectWithSize:options:attributes:context:计算文本尺寸
  10. LeetCode 1009. 十进制整数的反码(位运算)
  11. wxpython滑动面板_wxpython实现按钮切换界面的方法
  12. C语言 · 猜算式
  13. GitHub 发布 Octoverse 开源软件安全趋势报告(超详)
  14. 酒店前台html,酒店前台常用英语单词
  15. htop的VIRT是什么
  16. java学习笔记宋红康版本-01
  17. visio2013安装包及破解工具KMS
  18. R语言保存EXCEL小技巧
  19. 动词记忆(1):ate,ify,ish后缀常用词
  20. wps怎么减少行间距_wps怎么设置行距_wps的行间距在哪怎么调整单倍行距及1.5倍行距_wps文字_office之家...

热门文章

  1. substring用法,between...and用法 trim标签的用法 模糊查询
  2. Aspose.Words.FileCorruptedException: The document appears to be corrupted and cannot be loaded
  3. Nexus3搭建jenkins报错 下载 依赖jar包 报错Not authorized
  4. 1月16日云栖精选夜读 | 阿里P8架构师谈:Zookeeper的原理和架构设计,以及应用场景... 1
  5. 【雷丁学姐】借助大数据进行学生的学校申请预测
  6. 使用FFmpeg将文件转为ts
  7. python 开任意数的平方
  8. chmod 赋权所有_linux 命令 赋权 chmod
  9. 技术问答网站与论坛为什么半死不活
  10. Android 修改保持WLAN热点开启的时间与最大连接数