自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 力扣:122 买卖股票的最佳时机 II(贪心)

随后,在第 4 天(股票价格 = 3)的时候买入,在第 5 天(股票价格 = 6)的时候卖出, 这笔交易所能获得利润 = 6 - 3 = 3。如示例 1的 7,1,5,3,6,4 ,我们知道可以在价格为 1 开始购入,在价格为 5 的时候出售,在价格 3 的时候购入,在价格 6 的时候出售可以得到总利润 7。在第 1 天(股票价格 = 1)的时候买入,在第 5 天 (股票价格 = 5)的时候卖出, 这笔交易所能获得利润 = 5 - 1 = 4。在每一天,你可以决定是否购买和/或出售股票。

2024-01-31 19:00:23 364

原创 计算数学表达式的程序(Java课程设计)

Java Swing界面设计UI(全)_swing ui-CSDN博客Java Swing界面设计UI(全)_swing ui-CSDN博客2)使用的查询工具:Chatgpt和文心一言,询问相关操作的实现,查询方法具体使用等文心一言 (baidu.com)AIchatOS1. 不足:界面布局使用了多个 JPanel 进行组合,没有使用更灵活的布局管理器,如BorderLayout或 GridBagLayout,部分代码重复,没有优化界面布局和颜色。

2024-01-10 19:55:43 2028

原创 力扣:LCR 161. 连续天数的最高销售额(最大子数组和,动态规划入门)

最大子数组和思路:很明显,这题可以使用求最大子数组和(子数组就是数组中的一个连续部分)的思路来做,首先我们要初始化答案,因为有可能出现负数,所以我们要将其设置为一个很小的负数。接着我们要对 sales 数组进行遍历,用 cur 来记录连续的销售额,每次记录都对 ans 和 cur 取其最大值。从下标0开始遍历sales数组,因为是连续的,所以只要跟子问题(上一个元素)加上当前销售额的和销售额的最大值,再对所有 v 元素进行取最大值即可。[5,4,-1,7,8] 此连续五天的销售总额最高,为 23。

2023-12-22 08:00:00 580

原创 力扣:322. 零钱兑换(动态规划入门)

分析:因为动态规划遍历要明确数组元素中记录了什么样的数据,与寻常题不同,因为有金额的限制,不妨用当前达到的金额作为下标(而不是遍历coins数组),而其值作为硬币数。所以我们从 1 开始对金额进行遍历,如果当前金额大于硬币面值才进入子问题和本身最小值的取优,最后得出的 v[amount] 就是问题的答案。如实例1最后选择硬币5金额到达了 amount ,那么子问题变成了选择到某个硬币金额到达 amount - 5。1.重述问题:凑成总金额 amount 所需的最少的硬币个数,认为每种硬币的数量是无限的。

2023-12-20 08:00:00 533

原创 PTA:jmu-Java-07多线程-同步访问

已有现已有Account类,拥有相应的getter方法。//存钱,在余额的基础上加上money//取钱,在余额的基础上减去moneybalance

2023-12-18 19:59:17 553

原创 力扣:300. 最长递增子序列(动态规划入门)

从下标0开始,考虑以这个数作为结尾的情况时,然后考虑这个数前面的数作为结尾的情况 + 1 和它本身那个取最优情况,然后去所以这个数作结尾的最大值即可,因为最起码子序列长度为1,所以要初始化为1。是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。2.找到最后一步:选择一个数作为最长递增子序列的结尾,如实例1选择7当结尾。1.重述问题:在nums数组找最长递增子序列,求出它的长度。注意子数组和子序列是不一样的,子数组是要连续的(不能分开)变成找7前面的数字结尾的最长递增子序列。

2023-12-16 13:41:07 451

原创 Pta:整除光棍(高精度问题)

这里所谓的“光棍”,并不是指单身汪啦~ 说的是全部由1组成的数字,比如1、11、111、1111等。传说任何一个光棍都能被一个不以5结尾的奇数整除。比如,111111就可以被13整除。 现在,你的程序要读入一个整数x,这个整数一定是奇数并且不以5结尾。然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。这样的解当然不是唯一的,题目要求你输出最小的解。

2023-12-13 08:00:00 453

原创 洛谷:P1048 [NOIP2005 普及组] 采药(DP 背包01)

辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。如果你是辰辰,你能完成这个任务吗?

2023-12-11 08:00:00 1570

原创 洛谷:P1216 [USACO1.5] [IOI1994]数字三角形 Number Triangles(DP 入门)

观察下面的数字金字塔。写一个程序来查找从最高点到底部任意处结束的路径,使路径经过数字的和最大。每一步可以走到左下方的点也可以到达右下方的点。在上面的样例中,从7→3→8→7→5的路径产生了最大权值。

2023-12-09 20:34:08 852

原创 洛谷:P2678 [NOIP2015 提高组] 跳石头(二分查找3)

判断如果是这个跳跃距离要移动几块石头(如果当前要跳跃的距离比相邻石头大的话,那么移动的石头就+1)。如果移动石头数量比要求的小,那么区间在左边,不然在右边,循环结束后得到的就是答案。注意点:在存入题目给出的石头点之后,还要要加上起点(0)和终点(L),因为第一个石头要起点比,最后一个石头要和终点比,才能正确判断要移动的石头数量。在比赛过程中,选手们将从起点出发,每一步跳向相邻的岩石,直至到达终点。块岩石与起点的距离。,分别表示起点到终点的距离,起点和终点之间的岩石数,以及组委会至多移走的岩石数。

2023-12-06 08:00:00 825

原创 洛谷:P1873 [COCI2011-2012#5] EKO / 砍树(二分查找2)

伐木工人 Mirko 需要砍M米长的木材。对 Mirko 来说这是很简单的工作,因为他有一个漂亮的新伐木机,可以如野火一般砍伐森林。不过,Mirko 只被允许砍伐一排树。Mirko 的伐木机工作流程如下:Mirko 设置一个高度参数H(米),伐木机升起一个巨大的锯片到高度H,并锯掉所有树比H高的部分(当然,树木不高于H米的部分保持不变)。Mirko 就得到树木被锯下的部分。例如,如果一排树的高度分别为201510和17,Mirko 把锯片升到15米的高度,切割后树木剩下的高度将是15。

2023-12-04 08:00:00 1473

原创 洛谷:P1102 A-B 数对(二分查找1)

题意:题目会给出一个n个元素的数组和 一个C ,你要在数组里面找 A 和 B,让 A - B = C ,不同位置的相等的元素可以算不同的次数(如果成立的话)。分析:因为数据量太大,不能使用搜索解决(N太大会超时),因为元素数量次数是跟最终结果有关,想想可以使用map来辅助查找,用set来记录数据。又因为查找过程中排序后(题目没有说明是递增的)是符合递增规律的,所以可以使用二分查找来解决。

2023-12-01 08:00:00 874

原创 洛谷:P1135 奇怪的电梯(递归/DFS学习8)

题目会给出每个楼层(从1到N)的数字,对与当前的楼层只能选择上或下题目给出的数字,要我们寻找最少的次数。很明显题目中的层数是1到N,我们分别进行上下楼的操作,如果上下楼后在这个范围内,我们就进行搜索。很明显,对每个楼层只进行一次搜索效率是最优的,所以我们使用book数组来记录是否搜索过,我们可以使用DFS或者BFS来解决,当然,对于最优次数的问题,BFS更有效率。本题DFS过不了第一个点,其余点都能过(可能专门卡DFS)。

2023-11-29 08:00:00 1023

原创 第13周 预习、实验与作业:Java网络编程

不可以,在TCP协议中,服务器端口处于被动监听状态,一次只能与一个客户端建立连接。当第一个客户端连接上服务器后,服务器端口就会被占用,此时其他客户端将无法再与该服务器端口建立新的连接。对于不重要的短信息传送等功能,一般可以选择UDP协议。因为UDP传输效率高,不需要建立连接和维护状态,适合快速传输小量数据。HTTP使用的是TCP协议。HTTP协议需要可靠的数据传输和数据顺序的保证,因此选择了TCP作为底层的传输协议。2.输入流是从网络读数据,输出流是向网络发送数据。3.没有出现TCP或UDP协议的细节。

2023-11-27 21:24:07 358

原创 洛谷:P1618 三连击(升级版)

将129共9个数分成三组,分别组成三个三位数,且使这三个三位数的比例是ABC,试求出所有满足条件的三个三位数,若无解,输出No!!!。

2023-11-27 00:57:33 992

原创 递归/DFS学习7

Perket 是一种流行的美食。为了做好 Perket,厨师必须谨慎选择食材,以在保持传统风味的同时尽可能获得最全面的味道。你有n种可支配的配料。对于每一种配料,我们知道它们各自的酸度s和苦度b。当我们添加配料时,总的酸度为每一种配料的酸度总乘积;总的苦度为每一种配料的苦度的总和。众所周知,美食应该做到口感适中,所以我们希望选取配料,以使得酸度和苦度的绝对差最小。另外,我们必须添加至少一种配料,因为没有任何食物以水为配料的。

2023-11-23 18:06:25 39

原创 二分查找的学习

3)如图中左边的二分查找的伪代码,使用循环最终实现2)中图的结果。m为中间的指针(是分界线),我们以蓝色区域举例,如果m在满足蓝色区域条件(IsBlue),那么 l 更新为 m,否则m在红色区域,r 更新为 m。经过多次循环就能得到结果,一般来说,是需要再进行一次判断和题目要求才看是否return l or r(也有可能是-1)。2)设立两个指针,一个为 l = -1(从左往右),一个为 r = n(由右往左),从左边到 l 指针的范围为蓝色区域,从右边到 r 指针的范围为红色区域。可以看看是否完全理解。

2023-11-21 22:41:13 49

原创 洛谷:P2241 统计方形(数据加强版)

1997年普及组第一题。

2023-11-20 08:00:00 231 1

原创 递归/DFS学习6

给你n根火柴棍,你可以拼出多少个形如ABC的等式?等式中的ABC是用火柴棍拼出的整数(若该数非零,则最高位不能是0用火柴棍拼数字0∼9的拼法如图所示:ABABCBACABC≥0n。

2023-11-17 08:00:00 38

原创 递归/DFS学习5

人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答。火星人用一种非常简单的方式来表示数字――掰手指。火星人只有一只手,但这只手上有成千上万的手指,这些手指排成一列,分别编号为123⋯。火星人的任意两根手指都能随意交换位置,他们就是通过这方法计数的。

2023-11-15 08:00:00 52 1

原创 递归/DFS学习4(洛谷:P2089 烤鸡)

猪猪 Hanke 得到了一只鸡。这题是要在固定的10个位置填入相应的数,所以可以使用dfs来做,是指数型枚举(每个位置的选数与其他位置没有任何影响,不要求按照什么顺序,什么升序要求之类的),很明显美味程度要在10~~30之间,不然没有方案的。我们对每个位置的美味指数从1到3开始枚举,因为要先输出方案,所以可以用二维数组把符合要求的方案存储,先输出方案数,再输出各个方案。注意剪枝(如果加起来大于要求,直接return),不然会超时。

2023-11-13 08:00:00 60

原创 面向对象大作业之课程设计(自主选题-第一次提交)

如果可以的话想实现里面所有功能,如登陆和注册系统,完成代办事项、项目、人员检测、主页、温度检测、消息通知等功能,并完成界面设计。ChatGPT、IntelliJ IDEA 、Junit、git、阿里巴巴代码规约IDE插件。功能三:代办事项功能,点击代码事项,会弹出代码事项的块,包含代办事项的内容。功能一:注册系统,通过账号、密码和管理员审核信息完成注册。功能二:登陆系统,通过账号密码完成登陆,进入后台管理系统。

2023-11-11 22:33:03 106 1

原创 Pta:单身狗

我使用pair数组v存储每队的情侣ID,使用int数组res存储客人的ID代码,按ID升序排列res数组,然后使用两个for去找res数组是否存在一整队情侣,如果存在,则把对应客人的ID改成0,数量-2,输出ID不为0的客人ID,因为使用两个for,所以数据量大的时候超时了,剃了,过不了,所以这题关键在于如何缩小时间复杂度,那么如何解决呢?随后 N 行,每行给出一对夫妻/伴侣——为方便起见,每人对应一个 ID 号,为 5 位数字(从 00000 到 99999),ID 间以空格分隔;

2023-11-10 08:30:00 152 1

原创 递归/DFS 学习3

排列与组合是常用的数学方法,其中组合就是从n个元素中抽出r个元素(不分顺序且r≤n),我们可以简单地将n个元素理解为自然数12n,从中任取r个数。现要求你输出所有组合。例如n5r3123124125134135145234235245345。

2023-11-08 11:18:16 59 1

原创 递归/DFS学习2

按照字典序输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。

2023-11-06 21:50:48 42

原创 递归/DFS 学习1

1.递归/DFS最重要的是顺序,因为DFS是一条路走到底,再考虑其他情况,往往要回溯到之前的状态再进行搜索,所以千万不能忘了回溯,做题是最好考虑画图来辅助思考。一开始会跑到×××,然后回溯到××_,然后跑××3,然后回溯到×_ _ ...... 之后的就不必多说。如样例的1,2,3,每个数有2种可能,一个是选,另一种是不选,因为要输出所有的可能情况,使用递归来解决。3.使用数组来判断是否走过,比如0表述还没走过,1表述状态1,2表述状态2等等。本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。

2023-11-05 08:30:00 47 1

原创 洛谷:B3625 迷宫寻路

机器猫被困在一个矩形迷宫里。迷宫可以视为一个n×m矩阵,每个位置要么是空地,要么是墙。机器猫只能从一个空地走到其上、下、左、右的空地。机器猫初始时位于11的位置,问能否走到nm位置。

2023-11-04 22:47:39 938 2

原创 洛谷:P1331 海战

在峰会期间,武装部队得处于高度戒备。警察将监视每一条大街,军队将保卫建筑物,领空将布满了 F-2003 飞机。此外,巡洋船只和舰队将被派去保护海岸线。不幸的是,因为种种原因,国防海军部仅有很少的几位军官能指挥大型海战。因此,他们培养了一些新海军指挥官。军官们选择了“海战”游戏来帮助他们学习。

2023-11-03 23:13:02 76

原创 CF:Permutations

题目描述“排列”是指一个长度为n的序列,且其中1到n的每个数刚好出现一次。例如,(1) (4,3,5,1,2) (3,2,1)都是排列,而(1,1) (4,3,1) (2,3,4)则不是。假设某人拿了几个排列(长度不一定相同),把它们连在一起写成了一个数列,并将这个数列打乱顺序。你的任务是将这个数列重新组成原来的几个排列(如果可能的话)。输入输出格式输入格式:第1行是一个整数n(1

2023-11-02 23:06:45 46 1

原创 CF:Elections

有两个人小A和小B参加选举,共有n个人参与投票,每人可以投k票。小A通过暗箱操作知道了每个人一定会投ai票给小B。他很想赢,所以决定通过操作来改变每个人可以投的票数k。问k最小为多少时,小A能获胜。输入:第一行,包含一个整数n,投票的人数。第二行,n个整数ai,ai为第i个人投给小B的票数。输出:仅一行,包含一个整数k,每个人可投的票数。

2023-11-01 17:15:51 48

原创 Pta:清点代码库

随后 K 行,每行给出具有这个功能的模块的个数,以及这个功能的对应输出。注:所谓数列 { A1​, ..., AM​ } 比 { B1​, ..., BM​ } 大,是指存在 1≤iBi+1​。1.因为题目要求先输出模块个数多的数列,个数相同要按数列的递增序给出,所以可以定义一个结构体,含有数列和模块数,来进行sort的自定义排序,再进行输出。2.在输入的过程中,会出现相同的数列,所以可以使用map来辅助进行数据的处理,来简化代码。

2023-10-31 12:00:00 328 1

原创 CF:Cards

使用pair数组,第一个first记录卡牌的数字,第二个second记录卡牌的编号,因为题目保证有解且只有输出一种,只要进行sort排序,然后从头尾两边开始遍历,输出每个人的卡牌编号就能得到答案。现在让你发卡牌,使每一个人手上的卡片上所写的数字的总和相等。个人要玩这个卡牌游戏,在游戏开始时每个人会得到两张卡牌,每张卡牌只能给一个玩家。如果有多种方案,可任意输出一个答案。每张卡牌只能给一个人,卡牌的编号按照输入的顺序编号。为偶数),每张卡牌上都写着一个正整数。,表示一共有的卡牌数。

2023-10-30 12:00:00 27

原创 互评-OO之接口-DAO模式代码阅读及应用

无论使用数组实现(StudentDaoArrayImpl)还是列表实现(StudenDaoListImpl),Test.java中的数据写入和查询操作都通过调用StudentDao接口中定义的方法来完成。2)因为接口文件的作用是规定了实现该接口的类应该具备哪些方法,并提供了方法的声明,不提供具体的实现代码,接口本身只是一种契约或规定,不包含具体的实现逻辑。List是动态数组,可以根据需要自动扩容,而数组的大小是固定的。将接口与实现相分离 :DAO只声明方法,具体实现不提供,可以自己通过多种方式来实现。

2023-10-15 22:02:46 30 1

原创 PTA jmu-java-日期类的使用:制作工作日历

7-4(选做) jmu-java-日期想要根据给定日期及周数制作一个工作日历,具备如下3个功能。功能1: 需制作一个工作日历。给定指定日期与持续周数n,将以指定日期所在周的星期一开始,生成一个长达n周的工作日历(包括最后一会周的星期日)。输出该工作日历的起止日期及星期。功能2: 输入日期,判断该日期是否在工作日历内。如果在,则输出该日期在工作日历的第几周的星期几,离工作日历结束还剩多少周、多少天。功能3: 输入周次,可以将该周所在月的日历打印出来,并将该周的起止日期输出。如果跨月,可以将两个月的日历输出。

2023-10-11 00:05:26 1277 1

原创 第06次 预习、实验与作业:接口与嵌套类

第06次 预习、实验与作业:接口与嵌套类的课前问题列表

2023-10-08 22:55:54 84 1

原创 java 第03周 预习、实验与作业:面向对象入门2与类的识别

第03周 预习、实验与作业:面向对象入门2与类的识别

2023-09-14 15:19:11 106

原创 Java 01周 预习、实验与作业:绪论与Java基本语法

第01周 预习、实验与作业:绪论与Java基本语法

2023-09-02 11:00:29 138

空空如也

空空如也

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

TA关注的人

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