- 博客(14)
- 收藏
- 关注
原创 手撕排序-快速排序Java
快速排序 先附赠一张时间复杂度表 图片来源:https://www.cnblogs.com/nannanITeye/archive/2013/04/11/3013737.html 把大象装进冰箱需要几步?恭喜,学会抢答了,三步 那实现快排呢?大体分为四步 第一步:走个形式,用来引出真正得快排! public int[] MySort (int[] arr) { //引出快排实体 quickSort(arr,0,arr.length-1); return arr;
2021-07-12 19:19:01
420
原创 IDEA连接数据库timeZone问题
首先,你需要找到Database的位置,如下图所示: step1: step2: step3: user:用户名 Password:密码 Database:连接的数据库名 将上述信息都填完之后,点击testConnecttion,如果出现服务器返回无效的时区。需要到Advanced设置“serverTimeZone”属性。 正题来了: 方法一:直接在Advanced页面修改serverTimeZone。 后面填写 “Asia/Shanghai” 方法二:win+R–>cmd–>mysql -u
2021-07-09 11:11:40
1150
原创 leetcode22-括号生成
22. 括号生成 回溯算法 回溯算法就是遍历所有的可能,将满足要求的结果加入到结果集中。 本题要求给出所有可能的并且有效的括号组合。有效的括号即意味着“(”和“)”个数相等,且先左后右。因此,本题基于如下回溯体进行遍历。 //left代表左括号的个数 //right代表右括号的个数 public void backTrack(StringBuilder sb,int left,int right,int n) 加入到结果集中的字符串必须满足 左括号 == 右括号 == n if(left == r
2021-06-20 21:22:01
204
原创 剑指Offer26-树的子结构
剑指 Offer 26. 树的子结构 思路就是,对A进行遍历,判断A的节点是否就是恰好包含B节后的根结点。(和最长回文子串思路类似~) 代码如下: //遍历A public boolean isSubStructure(TreeNode A, TreeNode B) { if(B==null){ return false; } if(A==null){ return false; } if(dfs(A,B)){ return true; } return isSubStructur
2021-06-15 20:03:13
86
原创 leetcode5-最长回文子串
5. 最长回文子串 动态规划 基于动态规划实现,主要还是分为如下三个阶段: 确认选择: 从题中可知,要求找到s中最长的回文子串。根据回文特性,每一个对称的位置相等,则就是回文子串。因此,本题的选择为:是回文子串/不是回文子串。 定义dp数组 根据选择 ,可以确定对dp数组的类型的定义,即为布尔型。dp[i][j]代表从i到j的子串是否为回文子串。 确认状态转移方程 根据选择与对数组的定义,分为如下情况进行转移: 当 i == j 时,理所当然,dp[i][j] = true; 当 j - i ==
2021-06-15 15:44:11
116
原创 leetcode1312-让字符串成为回文串的最少插入次数
1312. 让字符串成为回文串的最少插入次数 动态规划 题意表明,该题对于每一种状态可能的选择为:插入节点/不插入节点。 所谓状态,简而言之就是对dp数组的定义。是一维?二维?参数的含义有是什么? 回文串–就是以中心为界,向两侧延伸,字符对称。因此,本题参数涉及到的即为左、右下标,所以dp函数设置为二维数组dp[i][j],其中i代表左侧下标,j代表右侧下标,dp[i][j]代表的述值就是从i到j变为回文字符串需要的最小步数。 转移函数分为i和j所代表的字符相等/不相等,两种情况。 相等: 如果相等,
2021-06-11 21:55:45
398
2
原创 力扣473-火柴拼正方形
473. 火柴拼正方形 回溯方法 对于所给的火柴棍数组,因题中要求“不能折断火柴”,所以需要先对数组和进行一个判断,判断是否满足整除4的初始条件。 随后,编写回溯体。 对于每一根火柴,拥有四种边进行选择 - 上、下、左、右。判断是否能用所有的火柴拼成正方形,即判断在遍历完数组的所有元素之后,是否满足 上边和 == 下边和 == 左边和 == 右边和。 然后,在纯暴力的解法下,或者我的解法下,设立一个全局变量flag,用于记录是否存在满足条件的情况。 代码如下: boolean flag = fa
2021-06-07 16:17:58
410
原创 SSM框架-MyBatis学习笔记(1)
首先,分享MyBatis官方文档 MyBatis3|入门 该文档介绍了MyBatis的相关使用,值得一看哦~ 1、MyBatis的配置 创建父Maven工程,在pom.xml中配置相关使用信息 <dependencies> <!--mysql--> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java
2021-06-07 14:55:42
169
1
原创 回溯之N皇后问题
51. N 皇后 重点在于如何判断合理。针对本题,为同一列与左右对角线不得同时出现皇后。下述两种思想相同,只是对皇后位置的体现形式不同。 代码如下:方法一是依据二维数组实现皇后的位置摆放。 List<List<String>> res = new ArrayList<>(); public List<List<String>> solveNQueens(int n) { char[][] board = new char[n
2021-06-04 09:51:02
118
原创 动态规划之打家劫舍
198. 打家劫舍 代码如下: public int rob(int[] nums) { if(nums.length == 1){ return nums[0]; } int[] dp = new int[nums.length]; dp[0] = nums[0]; dp[1] = Math.max(nums[0],nums[1]); for(int i = 2; i < nums.length; i++){ dp
2021-06-02 22:01:53
100
原创 动态规划标签
跟着labuladong的来吧,先~ 322. 零钱兑换 代码如下: public int coinChange(int[] coins, int amount) { int dp[] = new int[amount+1]; Arrays.fill(dp,amount+1); dp[0] = 0; for(int i = 1; i < dp.length; i++) { for(int j = 0; j < coin
2021-06-02 20:12:56
155
原创 Maven的安装与配置
Maven的安装与配置 1.官网下载Maven Maven官网 点击Download 下载最新版本 下载完成后,存放到自己喜欢的文件夹中(我是远离C盘了),将文件解压 :D:\Program Files\apache-maven-3.8.1(我的存放路径) 记住这个路径 2.配置环境变量 设置-》搜索栏中搜索环境变量-》点它 点击用户变量中的新建 双击用户变量中的Path,添加如下的变量 打开命令窗口,输入 mvn -v 安装成功! 3.配置setting.xml 在此之前,再找一个自己喜欢的文件夹
2021-06-02 14:54:01
126
原创 520
哈哈哈哈哈,借着今天的特殊气氛,刷个leetcode可好 692. 前K个高频单词代码如下: public List<String> topKFrequent(String[] words, int k) { Map<String,Integer> map = new TreeMap<>(); for(String s: words) { map.put(s, map.getOrDefault(s, 0)+1); } List<Ma
2021-05-20 13:29:39
125
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅