![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 78
老邓CODING
分享经历与学习心得,本科在读
展开
-
课程表,拓扑有向图,广度优先搜索
描述现在你总共有 n 门课需要选,记为 0 到 n-1。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1]给定课程总量以及它们的先决条件,返回你为了学完所有课程所安排的学习顺序。可能会有多个正确的顺序,你只要返回一种就可以了。如果不可能完成所有课程,返回一个空数组。示例 1:输入: 2, [[1,0]]输出: [0,1]解释: 总共有 2 门课程。要学习课程 1,你需要先完成课程 0。因此,正确的课程顺序为 [0,1原创 2021-05-29 16:43:22 · 341 阅读 · 0 评论 -
统计汉明距离
题目描述两个整数的 汉明距离 指的是这两个数字的二进制数对应位不同的数量。计算一个数组中,任意两个数之间汉明距离的总和。示例:输入: 4, 14, 2输出: 6解释: 在二进制表示中,4表示为0100,14表示为1110,2表示为0010。(这样表示是为了体现后四位之间关系)所以答案为:HammingDistance(4, 14) + HammingDistance(4, 2) + HammingDistance(14, 2) = 2 + 2 + 2 = 6.注意:数组中元素的范围为从原创 2021-05-28 16:40:46 · 209 阅读 · 0 评论 -
格雷编码(数组中两个连续的数值的2进制形式仅有一个位数的差异)
题目描述:格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。给定一个代表编码2进制总位数的非负整数 n,打印其格雷编码序列。即使有多个不同答案,你也只需要返回其中一种。格雷编码序列必须以 0 开头。示例 1:输入: 2输出: [0,1,3,2]解释:00 - 001 - 111 - 310 - 2对于给定的 n,其格雷编码序列并不唯一。例如,[0,2,3,1] 也是一个有效的格雷编码序列。00 - 010 - 211 - 301 - 1示例 2:原创 2021-05-25 12:11:38 · 403 阅读 · 4 评论 -
四数相加(求四数相加和为0的四元组数目)
问题描述:给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。为了使问题简单化,所有的 A, B, C, D 具有相同的长度 N,且 0 ≤ N ≤ 500 。所有整数的范围在 -228 到 228 - 1 之间,最终结果不会超过 231 - 1 。例如:输入:A = [ 1, 2]B = [-2,-1]C = [-1, 2]D = [ 0, 2]输出:2解释:两个元原创 2021-05-24 16:51:36 · 794 阅读 · 0 评论 -
Mybatis学习笔记
文章目录Mybatis使用示例1对于mybatis-config.xml 的属性说明:db.properties 标签内可有多个, 但一个SqlSession实例只能使用一个环境,使用的是default选定的环境事务管理器(transactionManager)数据源(dataSource) :输出ERROR 级别以上的日志到 /log/error.logxx.Append = true 表示可以追加 不覆盖文件POJO注解使用:多对一的表关系处理:用两种方法实现StudentMapper接口中返回Stu原创 2021-04-24 00:15:12 · 71 阅读 · 0 评论 -
JVM学习笔记
JVMJDK, JRE , JVM:JDK(Java Development Kit),包括了Java运行环境JRE,一堆Java工具(编译器javac/java/jdb等)和Java基础的类库(即Java API 和java运行时基本类库rt.jar(runtime jar) 。其中rt.jar包含所有核心Java 运行环境的已编译calss文件,其中包含引导类(bootstrap classes,即来自Core Java API的所有类)。JRE(Java Runtime Envirnment.原创 2021-04-23 22:21:14 · 78 阅读 · 0 评论 -
Spring学习笔记(较长,可以按照目录看有需要的部分~)
文章目录简介1、IoC介绍控制反转 Inverse of Control, 一个xml文件就相当于一个Spring容器,在xml文件中部署所有bean,在类中利用annotation注释插入值2、关于注解@Xx的使用1.1 @Component 作用及使用方法1.2 @Component 使用时bean id的命名规则:2、@Component有三个衍生注解 适用于MVC三层架构分开注解,但其实作用都一致3、@Configuration的使用4、完全无xml文件的使用方法5、小结3、AOP (Aspect原创 2021-04-23 22:04:21 · 373 阅读 · 0 评论 -
KMP算法:字符串匹配
字符串匹配是一道经典的算法问题,经常出现。例如:给定主串ss,匹配串pp,返回情况有三种:匹配成功,返回pp在ss中匹配到的第一个字符串的第一个字符的索引。匹配失败,主串中不存在与匹配串pp相匹配的子串,返回-1匹配串为空,返回0以上就相当于Java中String类的public int indexOf(String str)方法。1、最笨的方法当然就是暴力匹配 public int strStr(String ss, String pp) { int n = s原创 2021-04-21 21:04:14 · 480 阅读 · 0 评论 -
HashMap数据结构剖析(JDK8红黑树)拓展到Integer自动拆装箱及缓存
近期在研究HaspMap的数据结构,随后将一系列遇到的问题包括hashcode,红黑树等都整理出来如下:首先要知道HashMap最早的数据结构的存储由数组+链表的方式存储。从JDK8开始变化为数组+链表+红黑树的存储方式,当链表长度超过阈值(8)时,将链表转换为红黑树。在性能上进一步得到提升。这里先讲解HashMap如何计算出对象hashcode并将其放到指定数组索引的。1、HashMap先利用key的hashcode()计算出hashcode(是一个int类型)2、利用hashcode与 ha原创 2021-04-17 17:15:34 · 269 阅读 · 0 评论 -
LinkedList中add,addLast,offer,pollLast,removeLast等区别
1、addLast() 与add()区别 /** * Appends the specified element to the end of this list. * * <p>This method is equivalent to {@link #add}. * * @param e the element to add */ public void addLast(E e) { linkLast(e原创 2021-04-16 15:26:26 · 8213 阅读 · 1 评论 -
打家劫舍(动态规划)求数组所有非相邻数字的最大和
题目讲解题目源于Leetcode练习你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例 1:输入:[1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 =原创 2021-04-15 17:31:02 · 182 阅读 · 0 评论 -
基于MVC框架构建图书馆小程序
实现了提供游客注册及登录验证功能,并在验证成功后提供1)基于书号搜索书籍及2)显示所有书籍信息功能。而管理员登录界面与此区分,管理员登录成功后具有新增书籍信息等权力。所有代码在此仓库,点击访问 只需将Library_jdbc工程直接clone,架起服务器即可使用。本人使用环境 Netbeans IDE 8.2jia包配置如上,数据库是MySql。注:连接不同的数据库需要修改context.xml文件中的driverClassName,以及使用到的数据库名,表名等等。ps:本人主要实现业务逻原创 2021-03-04 23:13:46 · 279 阅读 · 2 评论 -
大数乘法(利用字符串存放数值)
当存放的数值比long型还大时,考虑溢出,便使用字符串来存储这里乘法采用的是小学列式乘法思路,时间效率为O(n^2)需要 明确的是m位数A与n位数B相乘,乘积不会大于(m+n)位数public class StringMultiply { public static String multiply(String num1, String num2) { if (num...原创 2020-03-26 16:18:58 · 360 阅读 · 0 评论 -
整数反转
整数反转给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。示例 1:输入: 123输出: 321示例 2:输入: -123输出: -321示例 3:输入: 120输出: 21注意:假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。解题思路代码比较简单...原创 2020-02-21 17:50:38 · 77 阅读 · 0 评论 -
如何给定两个二进制字符串,返回他们的和(用二进制表示)
如何给定两个二进制字符串,返回他们的和(用二进制表示)输入为非空字符串且只包含数字 1 和 0。示例 1:输入: a = “11”, b = “1”输出: “100”示例 2:输入: a = “1010”, b = “1011”输出: “10101”下面给出题解思路是将两个字符串尾对齐,较短的用 000 补齐。使得两个字符串长度一致,然后从尾端开始一一相加求和进行遍历计算。注...原创 2020-02-20 17:17:26 · 2478 阅读 · 0 评论 -
给定一个由0和1组成的矩阵,找出每个元素到最近的0的距离
给定一个由 0 和 1 组成的矩阵,找出每个元素到最近的 0 的距离。(Leetcode 542)两个相邻元素间的距离为 1 。示例 1:输入:0 0 00 1 00 0 0输出0 0 00 1 00 0 0示例 2:输入:0 0 00 1 01 1 1输出:0 0 00 1 01 2 1注意:给定矩阵的元素个数不超过 10000。给定矩阵中至少有一个...原创 2020-02-17 18:39:45 · 12176 阅读 · 3 评论 -
如何将用链式结构按位逆序存储的两数相加
如何将用链式结构按位逆序存储的两数相加(Leetcode T2)例输入(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807此为题给ListNode的定义 public class ListNode { int val; ListNode next; ...原创 2020-02-14 18:51:08 · 135 阅读 · 0 评论