自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 Java线程池

线程的创建和销毁都是很耗费资源的,创建线程池之后可以减少这种消耗。同时,如果在一个jvm里创建了太多线程,也会导致系统内存被过度消耗,“切换过度”会造成系统资源不足,而线程池可以对线程的数量加以限制,也能很好的解决这个问题。 提供工厂方法来创建不同类型的线程池,下面是它所提供的四种线程池: (4)newScheduledThreadPool (了解) ...

2022-08-06 16:50:05 492

原创 设计模式之单例模式

单例模式只能有一个实例,为了保证这个可以实现,将构造方法私有化,不让外界随便创建对象。私有化构造方法后就是把new这个对象控制权收回了,只能在类内部去实例化这个对象,让类自身负责保存他的唯一实例。...

2022-08-05 11:21:09 182

原创 创建线程的四种方式(Thread、Runnable、线程池、Callable)

创建线程有四种方式:1、继承Thread类 2、实现Runnable接口 3、通过线程池创建 4、实现Callable接口,下面是具体介绍

2022-08-04 16:10:26 4242

原创 ajax实现页面跳转

上网去查,学到一个新的方法top.location.href,诶,这个top就有意思了,它可以跳脱出框架,在顶层打开新窗口,看起来就很有戏,果然,成功了。刚学完ajax没多久,想着写个注册界面,利用ajax把用户名和密码传过来,注册成功以后跳转到登录界面,之前一直用的是Servlet来重定向,结果直接就是说没有反应,调了半天就是不成功。,我又想到一个方法,既然后端传不了,那我走前端,前端里面不是有一个方法location.href,我就喜滋滋的把路径一封装传前面去了。...

2022-07-28 21:45:35 7305 1

原创 JQuery获取多选框内容

这里要注意单双引号的使用,在平时单引号双引号其实都是可以的,但如果有包含的情况,那么要么外面双引号里面单引号,要么就反过来。在方法一的基础上,将其转换为JQuery对象,然后用val()来取值。用JQuery的each方法遍历。2.此时我们拿到的其实是一个数组,里面存着的是。,注意到这个以后可以用value取值。1.首先先取出所有复选框对象。......

2022-07-27 10:49:09 5229

原创 Java比较方法

当元素的类型没有实现Comparable接口而又不方便修改代码,或者实现了Comparable接口的排序不适合当前的操作(如从大到小排),就可以使用Comparator的对象来排序。Java有非常丰富的API供我们使用,比较方法也有很多种,不仅是我们在平时经常用到的equals()方法,其实很多工具类的排序方法也是基于最基础的比较的方法实现的。题目来源LeetCode,这题是个中等题,但难点其实是在如何重新对字符串进行排序,学会了上面的方法就豁然开朗了。...

2022-07-22 20:31:57 668

原创 刷题:字符串解码(栈)

栈先入后出,所以先提取字母,利用StringBuffer的insert方法从头部插入,即可还原原本的顺序,移到左括号截至,重新来存储数字,这里注意判断栈是否为空,毕竟数字可以是第一个。此外,你可以认为原始数据不包含数字,所有的数字只表示重复的次数k,例如不会出现像3a或2[4]的输入。输入字符串中没有额外的空格,且输入的方括号总是符合格式要求的。输入s="2[abc]3[cd]ef"输入s="3[a]2[bc]"输入s="3[a2[c]]"输出"abccdcdcdxyz"...

2022-07-21 22:13:47 119

原创 刷题:礼物的最大价值(动态规划)

在一个m*n的棋盘的每一格都放有一个礼物,每个礼物都有一定的价值(价值大于0)。你可以从棋盘的左上角开始拿格子里的礼物,并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值,请计算你最多能拿到多少价值的礼物?链接https//leetcode.cn/problems/li-wu-de-zui-da-jie-zhi-lcof。,只是需要把路过结点的值相加,选取上方和左侧最大的点作为子结构即可。解释路径1→3→5→2→1可以拿到最多价值的礼物。...

2022-07-20 19:04:16 180

原创 刷题:不同路径(动态规划)

很显然问题满足最优子结构和重叠子问题,去往右下方的数量等于自己上方和左边结点的数量之和(如果没有越界的话),第一行以及第一列由于只能向右和向下走,故数量均为1,初始化以后运算即可。一个机器人位于一个mxn网格的左上角(起始点在下图中标记为“Start”)。1.向右->向下->向下。2.向下->向下->向右。3.向下->向右->向下。输入m=3,n=7。输入m=3,n=2。输入m=7,n=3。输入m=3,n=3。...

2022-07-20 17:27:26 109

原创 替换后的最长重复字符(变长的滑动窗口)

这题的活动窗口初始长度为0,最大长度是相同的字符串+k,在不断遍历的过程中,需要用maxn去记录最大字符串,才能约束left左移。给你一个字符串s和一个整数k。滑动窗口是一种基于双指针的一种思想,两个指针指向的元素之间形成一个窗口。将中间的一个'A'替换为'B',字符串变为"AABBBBA"。窗口有两类,一种是固定大小类的窗口,一类是大小动态变化的窗口。解释用两个'A'替换为两个'B',反之亦然。输入s="AABABBA",k=1。输入s="ABAB",k=2。...

2022-07-19 14:44:54 175

原创 找到字符串中所有字母异位词(暴力搜索、滑动窗口、优化的滑动窗口三种解法)

给定两个字符串s和p,找到s中所有p的异位词的子串,返回这些子串的起始索引。不考虑答案输出的顺序。起始索引等于0的子串是"cba",它是"abc"的异位词。起始索引等于6的子串是"bac",它是"abc"的异位词。起始索引等于0的子串是"ab",它是"ab"的异位词。起始索引等于1的子串是"ba",它是"ab"的异位词。起始索引等于2的子串是"ab",它是"ab"的异位词。输入s="abab",p="ab"...

2022-07-19 12:08:46 493

原创 合并两个有序链表(迭代、递归两种解法)

递归的话,难点在于判断返回值,其中一方链表遍历结束或者它本来就是空链表的话,直接返回另一个链表即可,至于下面的比较数值,其实就是把每个结点都拆分出来,排好序,最后回溯依次连接,再整体返回。迭代比较好理解,重新建立一个链表,然后list1与list2相比较,将数值小的那个连在新链表的后面,当一个链表全部遍历后直接把另一个接在末尾即可。输入l1=[1,2,4],l2=[1,3,4]输入l1=[],l2=[0]输入l1=[],l2=[]输出[1,1,2,3,4,4]...

2022-07-18 12:19:28 267

原创 刷题:有效的数独

题目很好理解就不过多赘述,并且也讲明了解题思路,就是判断三次,分别是每行每列以及3x3的方块。建立三个数组,用哈希表的方式来统计,如果所对应的值>1就说明不符合条件。解释除了第一行的第一个数字从5改为8以外,空格内其他数字均与示例1相同。只需要根据以下规则,验证已经填入的数字是否有效即可。数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。只需要根据以上规则,验证已经填入的数字是否有效即可。一个有效的数独(部分已被填充)不一定是可解的。数字1-9在每一行只能出现一次。...

2022-07-16 15:20:12 77

原创 刷题:岛屿数量(深搜)

找到值为‘1’的点,岛屿数量++,然后通过深搜找出它的其他相连陆地,并把值改为非‘1’即可,就可以防止重复统计。

2022-07-16 12:00:31 91

原创 刷题:图像渲染(深搜、广搜两种解法)

输入image=[[1,1,1],[1,1,0],[1,0,1]],sr=1,sc=1,newColor=2。输入image=[[0,0,0],[0,0,0]],sr=0,sc=0,newColor=2。解析在图像的正中间,(坐标(sr,sc)=(1,1)),在路径上所有符合条件的像素点的颜色都被更改成2。输出[[2,2,2],[2,2,0],[2,0,1]]输出[[2,2,2],[2,2,2]]最后返回经过上色渲染后的图像。......

2022-07-16 11:27:17 201

原创 刷题:重塑矩阵

在MATLAB中,有一个非常有用的函数reshape,它可以将一个mxn矩阵重塑为另一个大小不同(rxc)的新矩阵,但保留其原始数据。给你一个由二维数组mat表示的mxn矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。否则,输出原始矩阵。输入mat=[[1,2],[3,4]],r=1,c=4。输入mat=[[1,2],[3,4]],r=2,c=4。输出[[1,2],[3,4]]输出[[1,2,3,4]]...

2022-07-15 16:14:54 167

原创 刷题:验证二叉搜索树

想出了两种方法,第一种就是边遍历边判断,每一个结点的值都是介于upper和lower之间的,如果超出范围就返回false。第二种方法是大家很熟悉的中序遍历,最后遍历出来的值一定是一个有序递增的数组,根据这个数组是否有序即可判断是否是二叉搜索树。...

2022-07-15 10:42:52 182

原创 刷题:二分查找

一、题目给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。示例 1:示例 2:提示:你可以假设 nums 中的所有元素是不重复的。n 将在 [1, 10000]之间。nums 的每个元素都将在 [-9999, 9999]之间...

2022-07-14 11:56:53 75

原创 刷题: 复杂链表的复制

请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。示例 1: 示例 2: 示例 3: 示例 4:解释:给定的链表为空(空指针),因此返回 null。 提示:-10000 ...

2022-07-13 20:35:12 94

原创 刷题:两数之和

一、题目 给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。示例 1:示例 2:示例 3:提示:2 ...

2022-07-13 15:30:02 66

原创 二叉树的层序遍历(广搜)

给你二叉树的根节点 root ,返回其节点值的 层序遍历 。 (即逐层地,从左到右访问所有节点)。示例 1:示例 2: 示例 3:提示:树中节点数目在范围 [0, 2000] 内-1000

2022-07-13 14:16:21 179

原创 插入排序(简单版)

一、特点 插入排序是从右至左比,如果自己是是这一段数中的最大值那么就不需要移动了,如果有比自己大的值就开始交换,直至找到正确的位置。 还有一个小妙招,我们平时玩的斗地主,摸完牌之后的排序其实就是插入排序呢。二、代码......

2022-07-13 10:04:42 147

原创 排序之选择排序

一、思想 选择排序是一种很简单且易于理解的排序,不断遍历,每一次找到最小值所在坐标记录下来,最后与前面的未排序的数进行交换,并且固定下来。二、代码

2022-07-12 20:49:25 59

原创 最大字段和(动态规划)

给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。子数组 是数组中的一个连续部分。示例 1:示例 2:示例 3:提示:1

2022-07-12 19:48:23 304

原创 数组相关练习

1.统计数组中数字出现的次数2.判断回文3.输入一行字符串,分别统计出其中英文字母、空格、数字和其它字符的个数。

2022-07-12 18:17:26 83

原创 冒泡排序(简单版)

一、思想 假设数组为【8,4,7,2,1】 冒泡冒泡,顾名思义,就是把数字看成泡泡冒出去,相邻的数字相比较,如果左边比右边大则交换,然后向后比较。 第一轮:【4,8,7,2,1】->【4,7,8,2,1】->【4,7,2,8,1】->【4,7,2,1,8】结束 直至经过数组长度 - 1轮就结束排序,并且每一轮都会将位置不正确但数字最大的数冒到后面,这样后一轮排序时就可以不用考虑那些位置......

2022-07-12 14:28:50 249

原创 刷题:用两个栈实现队列

用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )

2022-07-12 12:04:08 142

原创 刷题:最长回文串

给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。在构造过程中,请注意 区分大小写 。比如 "Aa" 不能当做一个回文字符串。

2022-07-12 11:29:47 451

原创 刷题:买股票的最佳时机

给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。...

2022-07-12 10:17:32 206

原创 java的异或运算

java异或运算

2022-07-11 20:07:49 2638

原创 刷题:反转链表

给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。

2022-07-11 17:10:48 67

原创 力扣:环形链表

给定一个链表的头节点 head ,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。如果 pos 是 -1,则在该链表中没有环。注意:pos 不作为参数进行传递,仅仅是为了标识链表的实际情况。不允许修改 链表。...

2022-07-11 10:41:42 286 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除