
Java
asjodnobfy
这个作者很懒,什么都没留下…
展开
-
Java实现 数组匹配,矩阵行排序
1原创 2022-11-14 16:29:42 · 782 阅读 · 3 评论 -
坠了,ACM怎么读取一串不知具体长度的int数组?
1原创 2022-08-28 20:59:56 · 332 阅读 · 1 评论 -
Redis常见面试题
1原创 2022-08-17 11:12:40 · 205 阅读 · 0 评论 -
Review-SpringBoot
1原创 2022-08-16 21:20:26 · 956 阅读 · 0 评论 -
Review-Spring
Review-Spring原创 2022-08-06 21:54:03 · 200 阅读 · 0 评论 -
Review-Maven
# 为什么要使用Maven?在以前,甚至是我们目前所讲课程,在创建项目的时候会把所用到的jar包放到工程目录下,并会有设置classpath的操作等。Maven的出现让我们得以从此类事情中解放出来。使用了Maven,我们只需要下载一份jar包放至本地的Maven仓库,其他的事情交由Maven来管理即可。因此,我们可以称Maven是工程jar包的管理者。...原创 2022-08-04 15:41:53 · 180 阅读 · 0 评论 -
Review-MyBatis
MyBatis框架功能与Hibernate一样。 都是持久化框架。都是操作JDBC。做ORM框架。 1 MyBatis框架比Hibernate小。 2 做的是针对SQL语句查询结果进行封装。原创 2022-08-04 15:34:23 · 303 阅读 · 0 评论 -
Java-判断亲和串
Problem Description人随着岁数的增长是越大越聪明还是越大越笨,这是一个值得全世界科学家思考的问题,同样的问题Eddy也一直在思考,因为他在很小的时候就知道亲和串如何判断了,但是发现,现在长大了却不知道怎么去判断亲和串了,于是他只好又再一次来请教聪明且乐于助人的你来解决这个问题。亲和串的定义是这样的:给定两个字符串s1和s2,如果能通过s1循环移位,使s2包含在s1中,那么我们就说s2 是s1的亲和串。Input本题有多组测试数据,每组数据的第一行包含输入字符串s1,第二行包含输入字原创 2022-04-24 11:17:04 · 168 阅读 · 0 评论 -
589. N 叉树的前序遍历(栈迭代)+590.N叉树的后序遍历(递归)
589. N 叉树的前序遍历解题思路利用栈进行迭代代码class Solution { public List<Integer> preorder(Node root) { LinkedList<Integer> result = new LinkedList<>(); //为空判断 if (root == null) { return result; }原创 2022-01-14 10:01:58 · 93 阅读 · 0 评论 -
144.145.二叉树的前序后序遍历(递归)
解题思路前序遍历:先遍历根节点再遍历左子树(递归)再遍历右子树(递归)递归函数的三个要点:确定递归函数的参数和返回值确定终止条件确定单层递归的逻辑代码/** * Definition for a binary tree node. * public class TreeNode { * int val; * TreeNode left; * TreeNode right; * TreeNode() {} * TreeNode(in原创 2021-10-08 15:34:49 · 132 阅读 · 0 评论 -
71.简化路径
https://leetcode-cn.com/problems/simplify-path/解题思路先拆分(通过 / ),再拼接双端队列Deque用于存储被/拆分开的文件或者文件名需要判断"." “” 和"…"的情况再通过StringBuilder进行拼接需要判断什么时候可以在尾部添加 /代码class Solution { public String simplifyPath(String path) { //双端队列 Deque<Str原创 2021-10-06 09:57:31 · 103 阅读 · 0 评论 -
347.前k个高频元素(优先队列)
这两天的优先队列搞得我有点懵解题思路//1. 需要统计元素出现的频率:使用Map//2. 需要筛选出前k个频率最高的元素:即维护一个最小顶堆,每次弹出的都是最小的,保留下来的是前k个频率最大的元素代码class Solution { //1. 需要统计元素出现的频率:使用Map //2. 需要筛选出前k个频率最高的元素:即维护一个最小顶堆,每次弹出的都是最小的,保留下来的是前k个频率最大的元素 public int[] topKFrequent(int[] nums,原创 2021-10-05 10:05:44 · 161 阅读 · 0 评论 -
239. 滑动窗口最大值
https://leetcode-cn.com/problems/sliding-window-maximum/什么是优先队列?普通队列:按顺序的 FIFO,通过线性结构实现优先队列:不论入队顺序,按照优先级顺序出队,通过堆结构实现二叉堆性质:1.最大堆的堆顶是整个堆中的最大元素2.最小堆的堆顶是整个堆中的最小元素因此,可以用最大堆来实现最大优先队列,每一次入队操作就是堆的插入操作,每一次出队操作就是删除堆顶节点。二叉堆节点上浮和下沉的时间复杂度:O(logn),所以优先队列入队和出队的时间原创 2021-10-03 11:22:40 · 92 阅读 · 0 评论 -
150.逆波兰表达式求值
解题思路遍历tokens,遇到数字入栈,遇到运算符号,从栈中取出两个数组经过运算以后,将结果入栈代码(Java)class Solution { public int evalRPN(String[] tokens) { //栈 Deque<Integer> stack= new LinkedList<>(); //遍历tokens for(int i=0; i<tokens.length; i+原创 2021-10-02 15:24:10 · 97 阅读 · 0 评论 -
1047.删除字符串中的所有相邻重复项
https://leetcode-cn.com/problems/remove-all-adjacent-duplicates-in-string/解题思路利用栈遍历字符串中的所有字符如果栈为空,直接入栈否则判断该字符是否与栈顶元素相同如果两字符相同,删除栈顶元素如果两字符不同,将当前字符入栈最后留下的栈内字符都是相邻不重复的字符由于Deque是双向队列,可以从队尾弹出字符,并添加到StringBuffer对象中.最终将StringBuffer通过toString()方法返回字符串代码(原创 2021-10-02 14:44:48 · 111 阅读 · 0 评论 -
20.有效的括号
题目https://leetcode-cn.com/problems/valid-parentheses/解题思路用栈解决:碰到左括号,就把对应的右括号入栈。否则拦截出栈元素(有括号)与遍历的右括号不相同情况,以及栈为空情况(左右括号个数不匹配),返回FALSE否则判断出栈元素与遍历的元素是否一致Java的Deque:定义双向队列:支持插入删除元素的线性集合。java官方文档推荐用deque实现栈(stack)。参考:https://blog.youkuaiyun.com/onedegree/a原创 2021-09-30 11:14:44 · 89 阅读 · 0 评论 -
255.用队列实现栈
解题思路主要在于:新元素入栈的时候,是先放在备用队列,再将主队列的元素输出到备用队列,接在新元素后面。使得新元素处于第一个弹出位置。调换两个队列的元素,也就是把辅助队列的元素全部放到主队列。后续取元素和弹出元素都直接从主队列操作就可以了。Java的话需要区别几个方法,可以避免一些异常判断offer,add 区别:一些队列有大小限制,因此如果想在一个满的队列中加入一个新项,多出的项就会被拒绝。这时新的 offer 方法就可以起作用了。它不是对调用 add() 方法抛出一个 unchecked原创 2021-09-29 09:45:26 · 72 阅读 · 0 评论 -
Java的static
“static方法就是没有this的方法。在static方法内部不能调用非静态方法,反过来是可以的。而且可以在没有创建任何对象的前提下,仅仅通过类本身来调用static方法。这实际上正是static方法的主要用途。”这段话虽然只是说明了static方法的特殊之处,但是可以看出static关键字的基本作用,简而言之,一句话来描述就是:方便在没有创建对象的情况下来进行调用(方法/变量)。很显然,被static关键字修饰的方法或者变量不需要依赖于对象来进行访问,只要类被加载了,就可以通过类名去进行访问。同转载 2021-09-22 10:00:59 · 104 阅读 · 0 评论 -
27.移除元素(两种解法)
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷贝 int .原创 2021-08-08 11:40:17 · 105 阅读 · 0 评论 -
219. 存在重复元素 II
给定一个整数数组和一个整数 k,判断数组中是否存在两个不同的索引 i 和 j,使得 nums [i] = nums [j],并且 i 和 j 的差的 绝对值 至多为 k。示例 1:输入: nums = [1,2,3,1], k = 3输出: true示例 2:输入: nums = [1,0,1,1], k = 1输出: true示例 3:输入: nums = [1,2,3,1,2,3], k = 2输出: false思路1: 暴力,两层循环,if语句判断,超时class Solut.原创 2021-07-13 08:54:36 · 69 阅读 · 0 评论 -
217.存在重复元素
给定一个整数数组,判断是否存在重复元素。如果存在一值在数组中出现至少两次,函数返回 true 。如果数组中每个元素都不相同,则返回 false 。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true解题思路1Java中的集合:HashSet,存放独一无二的数据。代码class Solution { public boolean contai.原创 2021-07-13 08:19:51 · 97 阅读 · 0 评论 -
169.多数元素
给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例 1:输入:[3,2,3]输出:3示例 2:输入:[2,2,1,1,1,2,2]输出:2双层循环(超出时间限制)class Solution { public int majorityElement(int[] nums) { int num=0,count=0; for(int .原创 2021-07-03 11:02:55 · 104 阅读 · 0 评论 -
167.两数之和1.两数之和
你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例 2:输入:nums = [3,2,4], target = 6输出:[1,2]示例 3:输入:nums = [3,3], target = 6输出:[0,1]class Solution { .原创 2021-07-02 11:04:35 · 139 阅读 · 0 评论 -
122.买卖股票的最佳时期II
给定一个数组 prices ,其中 prices[i] 是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)示例 1:输入: prices = [7,1,5,3,6,4]输出: 7解释: 在第 2 天(股票价格 = 1)的时候买入,在第 3 天(股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5-1 = 4 。随后,在第 4 天(股票价格 = 3).原创 2021-07-01 11:37:43 · 108 阅读 · 0 评论 -
NC133链表的奇偶重排
描述给定一个单链表,请设定一个函数,将链表的奇数位节点和偶数位节点分别放在一起,重排后输出。注意是节点的编号而非节点的数值。示例1输入:{1,2,3,4,5,6}返回值:{1,3,5,2,4,6}说明:1->2->3->4->5->6->NULL重排后为1->3->5->2->4->6->NULL示例2输入:{1,4,6,3,7}返回值:{1,6,7,4,3}说明:1->4->6->.原创 2021-06-28 10:14:22 · 151 阅读 · 0 评论 -
136.只出现一次的数
给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例 2:输入: [4,1,2,1,2]输出: 4异或运算 \oplus⊕。异或运算有以下三个性质。任何数和 00 做异或运算,结果仍然是原来的数,即 a \oplus 0=aa⊕0=a。任何数和其自身做异或运算,结果是 00,即 a \oplus a=0a⊕a=0。.原创 2021-06-27 20:58:03 · 58 阅读 · 0 评论 -
面试题1.1 判定字符是否唯一
解题思路利用Java的Set集合特点:Set集合内元素不可重复,add()添加重复元素时返回false。另外,获得String里的每一个char可以使用方法://获取字符串的第i个字符char c = str.charAt(i);代码class Solution { public boolean isUnique(String astr) { //集合的内容不可重复 new一个set Set set = new HashSet(); /原创 2021-06-20 19:50:35 · 71 阅读 · 0 评论 -
118. 杨辉三角
解题思路昨天的那题只要输出第I行一维数组,直接用数学的方法计算会来的快一些。今天这个要输出的是从第一行到第I行的二维数组。就可以通过上一行计算出下一行的内容,不用数学公式。两层循环:行和列左右两边直接填充1否则等于上一行的两个数之和。代码class Solution { public List<List<Integer>> generate(int numRows) { //定义二维List List<List<In原创 2021-06-19 10:08:20 · 109 阅读 · 0 评论 -
66. 加一
给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例 1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例 2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]思路1 末位小于9,直接+1就.原创 2021-06-15 10:41:16 · 77 阅读 · 0 评论 -
剑指03 数组中重复的数字
找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例 1:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3Java中的HashSet(集合框架)一个实现了HashMap的玩意儿特点:允许为空(null)其内容无序非线程安全使用方法:import java.util.HashSet; // 引入 Has.原创 2021-06-12 11:32:47 · 1111 阅读 · 1 评论 -
About 注释(Python Java C C++)
Python 注释# python单行注释'''python多行注释'''"""python 多行注释"""对于Linux系统来讲:(对Windows不起作用)指定python解析器路径,需放在最顶部:#!/usr/bin/python3指定编码格式(Python3已默认utf-8,python2默认ASCII编码):#--coding=utf-8--**Java 注释**//Java单行注释/* java多行注释*/**C C++ 注释**原创 2021-06-07 21:02:46 · 110 阅读 · 0 评论 -
Mybatis项目笔记(一)简单创建mybatis项目
Mybatis项目笔记(一)简单创建mybatis项目Myeclipse2016 +jre1.8+MySQL5.71 myeclipse进入创建java project2 导入mybatis框架相关jar包:需要用到的jar包先放置在项目目录下lib文件夹里边,没有此文件夹则新建3 选择这些jar包,右击build path 选择Add to ….. :4 在s...原创 2019-03-06 13:33:13 · 884 阅读 · 0 评论 -
Request processing failed; nested exception is java.lang.NullPointerException] with root cause
eException ReportMessageRequest processing failed; nested exception is java.lang.RuntimeException: java.lang.NullPointerExceptionDescriptionThe server encountered an unexpected condition that p...原创 2019-04-15 21:09:08 · 3538 阅读 · 1 评论 -
SpringMVC实现文件上传中出错:org.apache.commons.io.IOUtils
严重: Servlet.service() for servlet [DispatcherServlet] in context with path [/Criterion] threw exception [Handler processing failed; nested exception is java.lang.NoClassDefFoundError: org/apache/commo...原创 2019-04-12 17:58:45 · 1143 阅读 · 0 评论 -
ssm中mybatis对一查询的注意点
问题:对一关系的查询一个训练计划train由一个教练coach开设的。希望查询一个训练计划train的时候希望带出教练coach的信息,但是查得到train表,coach表的内容是null。解决问题的几个注意点:trainMapper.xml 中对coach的resultMap配置使用association标签 <association property="tr...原创 2019-05-24 18:56:52 · 199 阅读 · 0 评论 -
解决org.apache.ibatis.binding.BindingException: Invalid bound statement (not found)问题
检查了名字,命名空间,xml各种检查。最后:application.properties中缺少配置,mapper接口找不到对应的xml实现文件# mybatismybatis.mapper-locations=classpath:mybatis/user/*.xml,classpath:mybatis/coach/*.xml,classpath:mybatis/*.xml由于我在m...原创 2019-05-22 15:20:02 · 204 阅读 · 0 评论 -
ERROR [main] org.springframework.test.context.TestContextManager [250] -| Caught exception while all
-ERROR [main] org.springframework.test.context.TestContextManager [250] -| Caught exception while allowing TestExecutionListener [org.springframework.boot.test.autoconfigure.SpringBootDependencyInject...原创 2019-05-24 09:06:10 · 7649 阅读 · 0 评论 -
Java项目搭建mybatis框架
1.首先要有mybatis的jar包,到Github搜索mybatis:下载第三个。2.下载版本根据各自需求:3.下载后解压,需要导入的是mybatis-3.4.5.jar 以及lib文件夹下的jar包。lib文件夹下的jar包其实不用全部导入,但是如果不是很懂,就全部放进项目下的lib文件夹下,并且Build path4.如果需要连接数据库,访问:https://mvnres...原创 2018-12-21 09:52:35 · 1112 阅读 · 0 评论