学习目标:
SSM框架项目实践,leetcode46
学习内容:
学习使用开发wangEditor文件上传功能,并且开发了新增、更新、删除图书的功能。
通过运送回溯算法的思想解决leetcode46问题:
package com.imooc.dddq.code;
import com.sun.jmx.snmp.SnmpUnknownMsgProcModelException;
import java.util.ArrayList;
import java.util.List;
public class L46 {
public List<List<Integer>> permute(int[] nums) {
List<List<Integer>> result = new ArrayList<>();
List<Integer> path = new ArrayList<>();
//辅助数组(标记哪些num时可以选择)
int[] visited = new int[nums.length];
backtrack(result,nums,path,visited);
return result;
}
/**
* result=[]
* def backtrack(路径,选择列表):
* if 满足结束条件:
* result.add(路径)
* return
* for 选择 in 选择列表:
* 做选择
* backtrack(路径,选择列表)
* 撤销选择
*/
public void backtrack(List<List<Integer>> result, int[] nums, List<Integer> path, int[] visited) {
if (path.size() == nums.length) {
result.add(new ArrayList<>(path));
return;
}
for (int i = 0; i < nums.length; i++) {
if (visited[i] == 1) {
continue;
}
//做选择
visited[i] = 1;
path.add(nums[i]);
backtrack(result, nums, path, visited);
//撤销选择
visited[i] = 0;
path.remove(path.size() - 1);
}
}
public static void main(String[] args) {
int[] nums = {1, 2, 3};
System.out.println(new L46().permute(nums));
}
}
学习时间:
08:10-11:40 15:00-17:00 18:00-19:00
学习产出:
完整开发了一个基于SSM框架与MybatisPlus框架的项目。
该博客记录学习情况,目标是进行SSM框架项目实践和解决LeetCode46题。学习内容包括开发wangEditor文件上传及图书增删改功能,用回溯算法解LeetCode46题。学习后产出基于SSM与MybatisPlus框架的完整项目。
181

被折叠的 条评论
为什么被折叠?



