字符排序 java HashSet去重与遍历的三种方法
来源:互联网 发布:金牌淘宝客服 编辑:程序博客网 时间:2024/06/06 19:35
字符排序
算法是这样的,如果给定N个不同字符,将这N个字符全排列,最终的结果将会是N!种。如:给定 A、B、C三个不同的字符,则结果为:ABC、ACB、BAC、BCA、CAB、CBA一共3!=3*2=6种情况。
package java历年真题;import java.io.*;import java.util.Iterator;import java.util.Scanner;import java.util.HashSet;public class 字符排序_1 {static char[]c;static boolean vis[];static HashSet<String>set = new HashSet<String>();static void dfs(char[]c,String s,int d){if(d == c.length){set.add(String.valueOf(c));return;}for(int i=0;i<c.length;i++){if(!vis[i]){vis[i] = true;c[d++] = s.charAt(i);dfs(c,s,d);d--;vis[i] = false;}}}public static void main(String[] args) {// TODO Auto-generated method stubScanner sc = new Scanner(System.in);String s = sc.next();c = new char[s.length()];vis = new boolean[s.length()];for(int i=0;i<vis.length;i++){vis[i] = false;}dfs(c,s,0);//HashSet遍历的方法://一、(迭代器)//for(Iterator it=set.iterator();it.hasNext();)// {// System.out.println(it.next());// }//二、//Iterator<String>i = set.iterator();//while(i.hasNext())//System.out.println(i.next());// 三、for(String str:set)System.out.println(str);}}
阅读全文
0 0
- 字符排序 java HashSet去重与遍历的三种方法
- Java中hashSet与treeSet的去重原理
- HashSet与TreeSet去重的区别
- 【Java相关】Java中TreeSet和HashSet的排序和去重
- 数组去重的三种方法
- 数组去重的三种方法
- 数组去重的三种方法
- java HashSet去重示例
- 13test07;字符排序,去重,三三输出
- HashSet的去重问题
- J2SE学习笔记:J2SE重点难点,数组排序、HashSet去重、HashMap遍历
- java中HashSet的去重以及容量扩增原理
- 去重与排序
- “去重”与“排序”
- 排序与去重
- 一个简单的去重排序方法
- 三种常用的js数组去重方法
- 三种常用的js数组去重方法
- kuberetes controller模块代码学习
- Android之linux基础教学之二 总体架构
- 文章标题
- 设计模式六大原则
- : Android之linux基础教学之三 分页机制
- 字符排序 java HashSet去重与遍历的三种方法
- 静态联编和动态联编
- Andorid的Linux基础教学之四 进程的生死存亡
- POJ 3686 The Windy's(最小费用最大流)
- EL自定义简单函数实例
- : Andorid的Linux基础教学之五 中断机制
- 软件开发模型
- 关于Android沉浸式状态栏的解决方法之一(伪沉浸式)
- 使用git pull文件时和本地文件冲突怎么办?