Java代码:

public class LegalSequence {public static void main(String[] args) {//        System.out.println(legalSequence("BAECD"));arr("ABCDE");}/*** 判断一个序列是否可由给定序列通过栈操作获得* @param s* @return*/public static boolean legalSequence(String s) {for (int i = 0; i < s.length(); i++) {int index = i;int temp = i;for (int j = i + 1; j < s.length(); j++) {if (s.charAt(j) < s.charAt(index)) {if (s.charAt(j) > s.charAt(temp)) return false;temp = j;}}}return true;}/*** 输出ABCDE全排列中所有符合上面方法的序列* @param s*/public static void arr(String s) {arr(s.toCharArray(), 0, s.length() - 1);}/*** 对数值a中p下标到q下标进行全排列* @param a* @param p* @param q*/private static void arr(char[] a, int p, int q) {//当找出一个排列时,打印数组if (p == q) {//打印验证String str = "";for (int i = 0; i < a.length; i++) {str += a[i];}if (legalSequence(str)) System.out.println(str);return;}//后面的元素都要和第一个元素进行交换,求剩余的元素的全排练,把交换的元素再换回来for (int i = p; i <= q; i++) {swap(a, p, i);arr(a, p+1, q);swap(a, p, i);}}/*** 交换* @param a* @param i* @param j*/public static void swap(char[] a, int i, int j) {char temp = a[i];a[i] = a[j];a[j] = temp;}}

判断一个序列是否可由给定序列通过栈操作获得相关推荐

  1. Java判断一个序列是否可由给定序列通过栈操作获得(ABCDEF)

    Java栈操作中的代码题目你是否已经掌握了呢?接下来上题目叭~~~ 判断一个序列是否可由给定序列通过栈操作获得(ABCDEF) 这是基础题噢 学不会就打你pp呜呜呜~ 还是那句话,原创禁止转载侵权必究 ...

  2. php 判定是否是数组,php判断一个数组是否为有序

    php判断一个数组是否为有序 php判断一个数组是否为有序的'方法,涉及php操作数组遍历的相关技巧,非常具有实用价值,需要的朋友可以参考下. 这段代码的时间复杂度为O(n) function Jud ...

  3. 给定入栈序列,判断一个串是否为出栈序列

    剑指offer22:给定入栈序列,判断一个串是否为出栈序列 public static boolean isOutStackSequence(int[] Spush, int[] Spop) {if ...

  4. 题目 给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列。 样例 括号必须依照 ()顺序表示, ()[]

    题目 给定一个字符串所表示的括号序列,包含以下字符: '(', ')', '{', '}', '[' and ']', 判定是否是有效的括号序列. 样例 括号必须依照 "()"顺序 ...

  5. C++判断一个序列是否为堆(最大堆、最小堆)

    参考:https://blog.csdn.net/guoweimelon/article/details/50904346 1.如何判断一个序列是不是堆? 把这个序列看成是数组型的二叉树,如果根节点是 ...

  6. 谈谈如何判断一个Pop序列是否是一个Push序列的Pop顺序

      有这样一道题目: 输入两个整数序列.其中一个序列表示栈的push顺序, 判断另一个序列有没有可能是对应的pop顺序.   我们来模拟入栈和出栈的过程: 这里有三个角色: Push序列:它的动作只有 ...

  7. 判断一个序列是否为栈的有效输出序列

    栈的实际应用-判断一个序列是否为栈的有效输出序列 对于数据结构学科的初学者,栈的构建是很重要的知识,判断一个栈是否为有效输出序列是其中重要的题目.笔者整理了三种C++代码,其核心编程思想大致相同,希望 ...

  8. 《剑指offer》:[22]如何判断一个序列是否为栈的弹出序列

    题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序. 假设压入栈的所有数字均不相等.例如序列1,2,3,4,5是某栈的压栈序列,序列4,5,3,2,1是该压栈序列 ...

  9. Havel-Hakimi定理(判断一个度序列是否可图)

    1,Havel-Hakimi定理主要用来判定一个给定的序列是否是可图的. 2,首先介绍一下度序列:若把图 G 所有顶点的度数排成一个序列 S,则称 S 为图 G 的度序列. 3,一个非负整数组成的有限 ...

最新文章

  1. 安卓按键精灵_月薪3w的按键精灵大神都是从这个命令开始起步的
  2. vs2015上使用github进行版本控制
  3. 找不到或无法加载主类
  4. js 格式化带时区的日期
  5. boost::test模块装饰器数据测试用例测试
  6. ksweb如何安装php5.6_php5 安装 swoole 模块
  7. 树莓派 VNC Viewer 远程桌面配置教程
  8. MyBatis源码分析-IDEA新建MyBatis源码工程
  9. 2019ICPC(银川) - Largest Common Submatrix(单调栈)
  10. python语言中split-python中的split()函数和os.path.split()函数使用详解
  11. 【clickhouse】clickchouse的分区合并速度小于插入速度会怎么样
  12. cisco 三层交换机作DHCP服务器的配置
  13. Hive thrift服务(将Hive作为一个服务器,其他机器可以作为客户端进行访问)
  14. 处理Oracle 11g在用EXP导出时,空表不能导出
  15. 截止失真放大电路_基本共射放大电路的特点你懂了吗?
  16. ISP Pipeline lens shading
  17. octomap(1):octomap_server报错MessageFilter [target=odom_combined ]: Dropped 100.00% of messages so far
  18. 系统学习深度学习(六) --LSTM总结
  19. 计算机对英语写作的帮助,2018年6月英语六级写作范文:计算机对写作能力的影响...
  20. DDOS攻击相关问题

热门文章

  1. 互联⽹名词⼤全——技术及其他篇
  2. 端到端模型(end-to-end)与非端到端模型
  3. Feedback Prize-Kaggle比赛调研
  4. RISC-V MCU 基于嵌入式的歌曲识别
  5. 可以这样理解视觉Transformer模型中patch交互的关系
  6. JavaScript 之 对象及其本身
  7. JQuery获取当前元素本身
  8. 如何将CSDN文章内容转成PDF
  9. linux中查不到ip地址
  10. SPI通信拓扑如何选择?