- 博客(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
283
原创 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
1005
原创 leetcode22-括号生成
22. 括号生成回溯算法回溯算法就是遍历所有的可能,将满足要求的结果加入到结果集中。本题要求给出所有可能的并且有效的括号组合。有效的括号即意味着“(”和“)”个数相等,且先左后右。因此,本题基于如下回溯体进行遍历。//left代表左括号的个数//right代表右括号的个数public void backTrack(StringBuilder sb,int left,int right,int n) 加入到结果集中的字符串必须满足 左括号 == 右括号 == nif(left == r
2021-06-20 21:22:01
152
原创 剑指Offer26-树的子结构
剑指 Offer 26. 树的子结构思路就是,对A进行遍历,判断A的节点是否就是恰好包含B节后的根结点。(和最长回文子串思路类似~)代码如下://遍历Apublic 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
42
原创 leetcode5-最长回文子串
5. 最长回文子串动态规划基于动态规划实现,主要还是分为如下三个阶段:确认选择:从题中可知,要求找到s中最长的回文子串。根据回文特性,每一个对称的位置相等,则就是回文子串。因此,本题的选择为:是回文子串/不是回文子串。定义dp数组根据选择 ,可以确定对dp数组的类型的定义,即为布尔型。dp[i][j]代表从i到j的子串是否为回文子串。确认状态转移方程根据选择与对数组的定义,分为如下情况进行转移:当 i == j 时,理所当然,dp[i][j] = true;当 j - i ==
2021-06-15 15:44:11
62
原创 leetcode1312-让字符串成为回文串的最少插入次数
1312. 让字符串成为回文串的最少插入次数动态规划题意表明,该题对于每一种状态可能的选择为:插入节点/不插入节点。所谓状态,简而言之就是对dp数组的定义。是一维?二维?参数的含义有是什么?回文串–就是以中心为界,向两侧延伸,字符对称。因此,本题参数涉及到的即为左、右下标,所以dp函数设置为二维数组dp[i][j],其中i代表左侧下标,j代表右侧下标,dp[i][j]代表的述值就是从i到j变为回文字符串需要的最小步数。转移函数分为i和j所代表的字符相等/不相等,两种情况。相等:如果相等,
2021-06-11 21:55:45
304
2
原创 力扣473-火柴拼正方形
473. 火柴拼正方形回溯方法对于所给的火柴棍数组,因题中要求“不能折断火柴”,所以需要先对数组和进行一个判断,判断是否满足整除4的初始条件。随后,编写回溯体。对于每一根火柴,拥有四种边进行选择 - 上、下、左、右。判断是否能用所有的火柴拼成正方形,即判断在遍历完数组的所有元素之后,是否满足 上边和 == 下边和 == 左边和 == 右边和。然后,在纯暴力的解法下,或者我的解法下,设立一个全局变量flag,用于记录是否存在满足条件的情况。代码如下:boolean flag = fa
2021-06-07 16:17:58
314
原创 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
84
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
58
原创 动态规划之打家劫舍
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
53
原创 动态规划标签
跟着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
88
原创 Maven的安装与配置
Maven的安装与配置1.官网下载MavenMaven官网点击Download下载最新版本下载完成后,存放到自己喜欢的文件夹中(我是远离C盘了),将文件解压 :D:\Program Files\apache-maven-3.8.1(我的存放路径)记住这个路径2.配置环境变量设置-》搜索栏中搜索环境变量-》点它点击用户变量中的新建双击用户变量中的Path,添加如下的变量打开命令窗口,输入 mvn -v安装成功!3.配置setting.xml在此之前,再找一个自己喜欢的文件夹
2021-06-02 14:54:01
84
原创 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
72
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人