全排列
package 算法;
import java.util.ArrayList;
import java.util.List;
public class 全排列 {
public static void main(String[] args) {
List<List<Integer>> res = new ArrayList<List<Integer>>();
List<Integer> list = new ArrayList<>();
int[] nums = {1,2,3,4};
dfs(res,list,nums);
for (List<Integer> re : res) {
System.out.println(re);
}
}
public static void dfs(List<List<Integer>> res, List<Integer> list, int[] nums) {
if (list.size() == nums.length) {
res.add(new ArrayList<>(list));
}
for (int i = 0; i < nums.length; i++) {
if (list.contains(nums[i]))
continue;
list.add(nums[i]);
dfs(res, list, nums);
list.remove(list.size() - 1);
}
}
}
回文
package 算法;
public class 回文 {
public static void main(String[] args) {
String s = "@sasdd,,,sas";
StringBuilder str = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
if((s.charAt(i) >= 'A' && s.charAt(i) <= 'Z') || (s.charAt(i) >= 'a' && s.charAt(i) <= 'z')) {
str.append(s.charAt(i));
}
}
int L = 0;
int R = str.length() - 1;
boolean make = true;
while (L <= R) {
if (str.charAt(L) != str.charAt(R)) {
System.out.println("false");
make = false;
break;
}
L++;
R--;
}
if (make) {
System.out.println("true");
}
}
}
子集
package 算法;
import java.util.ArrayList;
import java.util.List;
public class 子集 {
public static void main(String[] args) {
List<List<Integer>> res = new ArrayList<List<Integer>>();
List<Integer> list = new ArrayList<>();
int [] nums = {1,2,3,4};
dfs(res,list,nums,0);
for (List<Integer> re : res) {
System.out.println(re);
}
}
public static void dfs(List<List<Integer>> res, List<Integer> list, int[] nums, int start) {
for (int i = start; i < nums.length; i++) {
list.add(nums[i]);
res.add(new ArrayList<Integer>(list));
dfs(res, list, nums,i+1);
list.remove(list.size() - 1);
}
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)