自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 高铁购票系统提案

用户登录分为两种,一种客户,一种管理员。这可以通过继承来实现,先定义一个使用者,这是两种都具有的一些相同的属性和方法,可以节省时间。还有账号密码不对,需要用到异常处理机制。我将这个系统需要实现的操作分成了三部分,首先是用户登录,购票操作,退出。客户:购入,退票,改签,查询(多个客户同时买票用到多线程)——退出系统。查找,查询可以使用接口,存储数据可以用IO。管理者:增删查找——退出系统。

2024-04-26 19:59:54 111

原创 如何用java复制图片

【代码】如何用java复制图片。

2024-04-26 19:07:06 278

原创 1653. 使字符串平衡的最少删除次数

【代码】1653. 使字符串平衡的最少删除次数。

2024-04-09 21:00:36 379

原创 2957. 消除相邻近似相等字符

我一开始做题就在思考怎样确定到底是改左边的值还是右边的值时,我自己随便在草稿纸上举了五个例子,然后我发现了一个规律,就是只要该右边的值就行了,因为如果该左边,可能右边与旁边的存在相似相等,而我直接改右值,就没有这种烦恼。最后就是学会了java中的数学函数abs(求绝对值的函数)。

2024-04-08 21:03:04 133

原创 2923. 找到冠军 I

这题通过题目可以抓住一个关键点,只要注意到实际可以转化成一维数组的问题就挺好解决,首先如何找到冠军,冠军的条件是赢过每个队伍,所以我可以搞一个数组,就像hash表一样,赢一次就++;最后找一维数组里面数值最大的那个,就是冠军。

2024-04-08 20:50:43 183

原创 925. 长按键入

当 name[i]=typed[j]时,说明两个字符串存在一对匹配的字符,此时将 i,j都加 1。否则,如果 typed[j]=typed[j−1],说明存在一次长按键入,此时只将 j加1。最后,如果 i=name.length,说明 name 的每个字符都被「匹配」了。一个是:作为 name 的一部分。此时会「匹配」name中的一个字符。另一个:作为长按键入的一部分。此时它应当与前一个字符相同。这题主要是运用了双指针的方法,这题主要需要处理的有两个地方。

2024-04-06 16:06:59 273

原创 2938. 区分黑球与白球

在我学c语言的时候曾经做过这种题,那时我的思路:重新拿一个数组,将答案放进此数组中,然后和原数组比较,看哪些地方不符合,通过模拟过程可以发现最后的结果就是将不符合的1放进最近的0的位置的差值的和。问题的等价描述是:要求每次交换两个相邻字符,计算将所有 1 移到右边、所有 0 移到左边的最少交换次数。这题主要思路用到了双指针的思路,而双指针的思路同上差不多,相较而言优化了很多。

2024-04-05 16:04:24 161

原创 1913. 两个数对之间的最大乘积差

代码很简单,但是这题蕴含了一个贪心的思想,要得到差的最大值,肯定是一对最大的数和一对最小的数。问题怎么确定哪两个是最大,哪两个是最小的。我想到了排序,java中直接提供了接口sort帮我们排序,不过用时比较久,消耗内存少(用时间来换空间)。也可以用for循环来遍历数组寻找,这样相当于用空间来换时间。

2024-04-04 17:20:12 276 1

原创 122. 买卖股票的最佳时机 II

还是贪心,从局部最优到全局最优,这题的关键点在于,首先我们要选择一天购入,再选一天购出,需要两天为一个利润单位。可以这样想,我们第一天买入,第二天购出,记录利润为多少,如果为负,我们就不计算到sum里面去,如果第二天买入,第三天卖出的利润为正,这样就可以计算到sum里面去。个人觉得如果要用贪心来做题,一定要抓到题目中的关键,如何做到局部最优,在思考从局部到整体。

2024-04-02 19:55:16 269 1

原创 3075. 幸福值最大化的选择方案

主要思路是贪心算法,首先将数组排序,从最后面开始选取,除第一次外,每选一次就要减一,没必要一次一次减,可以直接一次性减完。还有需要注意是如果sum为int,最后一个测试用例通不过。还学到了java中的sort用法。

2024-04-02 19:27:48 298 1

原创 746. 使用最小花费爬楼梯

#题目。

2024-03-31 14:21:12 1056 1

原创 434. 字符串中的单词数

这题判断一个字符串里面有几个单词的依据主要是当同时判断当前位置不能是空格,且当前位置的前一个位置必须是空格。而且s.charAt(),我也总是习惯写成s.char At[],这个错我找了半天,对自己服了。主要需要注意的是s.length(),我总是忘记加括号,所以经常报错,

2024-03-30 21:02:22 161

原创 206. 反转链表

我们可以直接用head节点做移动,最后直接返回head即可,也可以自己重新设temp,最后返回temp。自己在草稿纸上写写画画可以有效帮助自己理清思路,寻找规律。

2024-03-29 20:50:32 746 1

原创 LCR 136. 删除链表的节点

【代码】LCR 136. 删除链表的节点。

2024-03-29 20:10:27 259 1

原创 LCR 136. 删除链表的节点

【代码】LCR 136. 删除链表的节点。

2024-03-28 20:50:30 146

原创 1721. 交换链表中的节点

题目中说明了要找顺序和倒序的k位数,通过反复模拟和观察指针的移动后发现一个规律,当我们遍历到顺序的k位数时,记录这个节点,然后再次移动指针直到倒序的k位数时,此时我们想要记录这个数,所以还需要一个节点来记录,怎样记录勒,难道又要再重头便利吗,当然不是,当指针移到最后一个节点时,可以发现,当我们完成第一个循环时,此时将一个q指针与p指针一同前进,到最后q指针所指的就是我们所需要的倒序k位数。

2024-03-28 20:33:27 328

原创 Java中继承的一些原理

关键字:extends(扩展)。扩展什么呢,当然是方法啦,这就涉及到了方法重写(override)。

2024-03-27 21:00:22 216

原创 217. 存在重复元素

又学到了新知识,有关于java自带的set类接口:有两种,一种是HashSet,一种是TreeSet;

2024-03-25 22:38:51 237 1

原创 1704. 判断字符串的两半是否相似

个人感觉Java里面提供的库函数挺多的,也挺好用的,比C语言好多了,C语言全要自己写,但是java太多了,不太容易记。查找是否有在a字符串中的某一个字符字符与h字符串相同的字符(好绕)。差不多可以这样理解,s.charAt(5)=s[5];思路很简单,就是对比,但是涉及到一些库函数的应用。如果此参数是0,则是从字符串的第一个字符开始截取。字符串.substring(参数1,参数2);参数1:字符串截取的起始下标,非负的整数。注意:截取的结果,不包括结束位置的字符。参数2:截取结束位置的索引下标。

2024-03-24 20:13:55 255 1

原创 1748. 唯一元素的和

题目主要是对hash表的应用,作者还不是很熟练。在做题的时候,发现一个问题,数组默认值是多少。以及有什么能够使数组快速初始化一个值。因为我提交的时候没赋值也通过了,而我通过的前提是数组为0,查了一下资料,的确是0。但是Java好像不行,但是有一个Arrays.fill 的方法。

2024-03-24 13:44:46 456 1

原创 判断一个数是否是回文数,Java写法。

给出一个五位数,判断是否为回文数。

2024-03-22 20:45:09 131 1

原创 力扣两数之和

每遍历一次,没找到目标值,就将值放进map里面存储起来,在遍历寻到目标值。一些题目需要记录两个数值的hash表可以用Java里面提供的map方法。

2024-03-21 21:49:26 196 1

原创 java二分查找

不会可以在纸上绘图,画一个数轴,标上左右区间,再假设目标值在左边应该写什么,或者右边应该写什么。二分法难点在于边界的确认、移动和判断条件的书写。多练几个题目就能通透。

2024-03-20 20:45:36 180 1

原创 【无标题】

主要是hash表的应用,当然也可以直接暴力解决。,讲的非常详细,哔站还配有视频,一起食用更佳。hash本质其实就是数组的巧用。

2024-03-19 20:41:29 109

原创 【无标题】

给你一个 非严格递增排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致。然后返回 nums 中唯一元素的个数。考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k。

2024-03-17 21:09:27 298

原创 【无标题】

首先是%(取余),不知道有没有人注意%(取余)的运算符号是怎样决定的。看下图:猜猜a,b,c,d的值分别是什么。。。我们可以发现取余运算的结果符号取决于被取余的那个数。

2024-03-14 16:44:38 232 1

原创 java软件jdk该如何下载

jdk这款软件是由oracle(甲骨文)公司研发推出的,所以我们的软件也是从oracle公司下载。在页面顶部找到往下翻找到java点击。再点击右上角的**下载java*下载java17即可。目前市面上大多数电脑都是六十四位,少部分是三十二位,所以我们选择Windows版的x64 Installer。点击下载即可。

2024-03-02 22:09:38 173 1

空空如也

空空如也

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

TA关注的人

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