- 博客(18)
- 收藏
- 关注
原创 LeetCode 5. 最长回文子串
最长回文子串给你一个字符串 s,找到 s 中最长的回文子串。示例 1:输入:s = “babad”输出:“bab”解释:“aba” 同样是符合题意的答案。示例 2:输入:s = “cbbd”输出:“bb”示例 3:输入:s = “a”输出:“a”示例 4:输入:s = “ac”输出:“a”提示:1 <= s.length <= 1000s 仅由数字和英文字母(大写和/或小写)组成来源:力扣(LeetCode)链接:https://leetcode-cn.c
2022-01-26 16:46:52
212
原创 Java获取当前网络环境有效的BT Tracker列表
使用Java获取当前网络环境有效的BT Tracker列表BT Tracker是什么就不介绍了,有兴趣可以百度。最近在下资源的时候发现种子数量很低,于是产生了想要获取更多的Tracker的想法;网上能搜到不少Tracker列表,但是很难判断是否有效,逐个逐个去验证是否有效工作量太大,于是便有了这个程序。public class TrackerTest { @SuppressWarnings({"ResultOfMethodCallIgnored"}) public static voi
2021-09-08 09:03:35
1743
原创 LeetCode 4. 寻找两个正序数组的中位数 ( (Java)执行用时击败100.00%的用户)
题目给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3)
2020-11-13 16:07:40
267
原创 LeetCode 3. 无重复字符的最长子串 (Java)
题目给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是子串。来源:力扣
2020-11-13 14:51:40
109
原创 LeetCode 2. 两数相加 (Java) (执行用时击败99.92%的用户)
题目给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807来源:力扣(LeetCode)链接:https://leetc
2020-11-13 10:43:40
329
原创 LeetCode 1.两数之和 (Java)
题目LeetCode链接给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]解法暴力破解就不多说了直接贴代码 public int[] twoSum(int[] nums, int
2020-11-13 09:31:05
97
原创 多多的魔术盒子 Java
题目描述多多鸡有N个魔术盒子(编号1~N),其中编号为i的盒子里有i个球。多多鸡让皮皮虾每次选择一个数字X(1 <= X <= N),多多鸡就会把球数量大于等于X个的盒子里的球减少X个。通过观察,皮皮虾已经掌握了其中的奥秘,并且发现只要通过一定的操作顺序,可以用最少的次数将所有盒子里的球变没。那么请问聪明的你,是否已经知道了应该如何操作呢?思路N的值12345678…最少次数12233334…最少次数的值规律:2^0个1,
2020-11-09 14:50:23
231
原创 定义栈的数据结构,在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度为O(1))
题目描述:定义栈的数据结构,请在该类型中实现一个能够得到栈中所含最小元素的min函数(时间复杂度应为O(1))。思路:题目要求找到最小值得时间复杂度是O(1),说明不能遍历数据集合,需要立马找到,那就只能从数据的push和pop入手,下面是我的思考过程:1.首先是考虑加一个变量记录当前的最小值,在push的时候记录放入的数据的最小值,但是在pop出最小值的时候,就不知道当前栈内的最小值是多少了2.所以每次push数据的时候,可以考虑增设一个数据集合按小到大排序, 每push一次数据,就将新数据放到
2020-10-30 15:37:49
200
原创 判断目标数组是不是某二叉搜索树的后序遍历的结果
题目输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。思路首先收集二叉搜索树的特点,所有非叶子节点的左子节点的值必须小于该节点,同比类推右子节点的值大于该节点,后序遍历就是先按 左子树-右子树-中间节点 的顺序遍历的,据此可以推断出以下结论:所有二叉搜索树的后序遍历都必须满足:(小于根节点的数集)(大于根节点的数集)根节点 这种形式(为了方便下面用“小区间”,“大区间”分别代指“小于根节点的数集”和“大于
2020-10-30 15:29:13
331
原创 Java 两个线程交叉打印A1B2C3...Z26
网上一大堆实现方式,有花式使用CountDownLatch的,有使用CyclicBarrier的,但是都有各种各样的问题,有些根本就不能100%完成任务,不多说直接上我认为最稳妥的实现方式。package com.myday06.demo;public class A1B2Text { //锁对象 Object lock = new Object(); //true:打印字母, false:打印数字 boolean sw = true; //字母打印线程
2020-10-29 10:23:54
250
原创 Mysql 索引结构 B+树
1.索引的官方定义索引是一种能帮助数据库快速高效地获取数据的一种排好序的数据结构2.索引的数据结构二叉树(最坏情况下效率低)红黑树(树的高度不好控制)Hash表(指定单值的查找效率高,但是范围查找以及排序效率低)B-Tree(所有节点均存数据,查找时间不稳定,树的高度变化大)B+Tree(B-Tree的变种,只有叶子节点存放数据,每个中间节点存放的索引多,树的高度稳定,查找时间稳定,叶子节点之间使用双向指针相连,方便范围查找)3.B+Tree目前应用最广泛的索引数据结构点击此处进入B
2020-10-27 15:52:07
415
原创 Hibernate flush的作用
Hibernate flush的作用最近使用Hibernate开发的时候碰到在用@Transactional修饰的方法中(同一个事务)前面代码save的数据无法被后面的代码查询到的情况,这种情况在不同环境下出现的都有可能出现,经调试发现:即使执行了save语句,该对象只是保存在了hibernate缓存当中,而且没有执行SQL语句,这时候后面的代码是无法通过HQL查询到save的对象的,这个时候就需要使用flush()方法将hibernate缓存和数据库缓存进行同步。这个问题是否会出现,取决于环境的配置,
2020-09-09 11:18:52
1192
原创 使用ajax代替form表单向服务器同时提交多个数据和多个文件
使用ajax代替form表单向服务器同时提交多个数据和多个文件JSP代码JSP代码一个form表单包含多个数据以及多个文件在form表单中加入属性 enctype=“multipart/form-data” 表示此表单支持文件上传;需正确引用jquery, jquery.form等js文件。```html<!--表单内容--><form id="form-survey-record" method="post" action="" enctype="multipart/
2020-08-06 15:58:38
602
原创 Java开发岗高频面试题全解析补充知识点(个人补充整理的知识点,非原文)
Java开发岗高频面试题全解析(个人整理)3.3.1 String、StringBuffer、StringBuilderString,StringBuffer与StringBuilder的区别??3.3.2 Java中的泛型的理解林木声-Java泛型理解Java总结篇系列:Java泛型3.3.3 Java序列化与反序列化的过程java基础---->Serializable的使用java高级---->Serializable的过程分析3.3.4 equals和hashCode方法
2020-06-03 18:39:47
1823
1
原创 Java 面试简答(基础篇)
Java 面试简答(基础篇)1.什么是Java虚拟机?为什么Java被称作是“平台无关的编程语言”?Java虚拟机是一个可以执行Java字节码的虚拟机进程。Java源文件被编译成能被Java虚拟机执行的字节码文件。Java被设计成允许应用程序可以运行在任意的平台,而不需要程序员为每一个平台单独重写或者是重新编译。Java虚拟机让这个变为可能,因为它知道底层硬件平台的指令长度和其他特性。(.class字节码文件是Java虚拟机可识别的的一种通用文件,无论用什么样的平台,只要该平台有java虚拟机,能将
2020-06-01 21:08:50
202
原创 一些排序算法(Java 实现)
一些排序算法(Java 实现)1、插入排序2、选择排序3、冒泡排序4、快速排序(递归方式)5、希尔排序(Sheel排序)6、堆排序1、插入排序在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排好顺序的, 现在要把第n个数插到前面的有序数中,使得这n个数也是排好顺序的。public static void insertSort(int[] a) { int len = ...
2019-10-24 14:54:48
128
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人