自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 NB15 牛群编号的回文顺序II

因为 (i + 1, j - 1) 在 (i, j) 的左下角, 而且 i 必然不大于 j 所以我们 从左上到右下 斜着填表。先遍历链表, 将节点的值(1-9)用 StringBuffer 给存起来, 再用一个list来存每个节点。填完表后, 看看这个最长字串的长度是否和原来的链表一样长, 是就返回空。这道题是 NB14 的升级, 大家可以看看我关于 NB 14 的题解。填表的时候 更新最长回文子串的起始下标和结束下标。否则 把ist结束下标上的节点指向空。本次分享到这就结束了。再返回起始下标上的节点。

2024-04-25 22:29:16 166 3

原创 NB14 牛群编号的回文顺序

因为 (i + 1, j - 1) 在 (i, j) 的左下角, 而且 i 必然不大于 j 所以我们 从左上到右下 斜着一层一层填表。先遍历链表, 将节点的值(1-9)用 StringBuffer 给存起来。本次分享到这就结束了。然后再用 dp 来解题。我在这先行拜谢了:)

2024-04-25 22:06:36 317 2

原创 NB13 牛的品种排序IV

弄两个新的链表sHead 和 bHead, 遍历传入的链表, 将值为0的节点链接到sHead尾部, 将值为1的节点链接到bHead尾部;遍历完后, 再把两个链表拼接起来就成。本次分享到这就结束了。我在这先行拜谢了:)

2024-04-16 23:07:53 297

原创 【牛客高频top202】 NB11 牛群的合并

把数组中的链表看成是 若干队列, 我们的目的是得到一个升序的链表, 所以每次遍历我们只对队首元素最小的队列进行poll操作, 再将其拼接到我们结果队列的尾部即可。本次分享到这就结束了。我在这先行拜谢了:)

2024-04-15 22:31:43 123 1

原创 NB10 牛群旋转

然后再根据偏移量找到, 偏移后的尾节点, 它的指向就是偏移后的头结点。拿到最后一个节点后 将其指向头节点 形成循环链表。先遍历到链表最后一个节点, 并统计量表长度。将尾节点指向空, 放回头节点即可。本次分享到这就结束了。我在这先行拜谢了:)

2024-04-15 22:09:25 180

原创 [23年蓝桥杯H题] 合并石子

具体来说: 两堆颜色 0 的石子合并后的石子堆为颜色 1 ,两堆颜色 1 的石子合并后的石子堆为颜色 2 ,两堆颜色 2 的石子合并后的石子堆为颜色 0。如果有多种答案,选择其中合并总花费最小的一种,合并总花费指的是在 所有的合并操作中产生的合并花费的总和。dp的思想是, 用二维dp保存区间的最小花费, 因为合并是两个两个区间一合并的, 所以一个区间的状态是由两个子区间转移过来的 , 这两个子区间不固定 , 所以要遍历来找和最小的 , 而两个子区间又有它们的子区间, 如此dp的思想便体现出来了。

2024-04-10 17:58:26 349

原创 [23年蓝桥杯] 买二赠一

则 P 等于其中一件商品的价格),就可以从剩余商品中任选一件价格不超过 P /2 的商品,免费获得这一件商品。现在该商场正在进行 “ 买二 赠一” 的优惠活动,具体规则是: 每购买 2 件商品,假设其中较便宜的价格是 P (如果两件商品价格一样,买价格为 5 和 7 的商品,免费获得价格为 2 的商品;这样的 队列 + 维护的两个变量 + 一个标志位 就相当于模拟了原来的队列了。小明可以先购买价格 4 和 8 的商品,免费获得一件价格为 1 的商品;所以从后面找金额的时候, 要优先找大的且没用过的,

2024-04-09 11:04:41 444

原创 蓝桥杯java组 最少砝码

你有一架天平。现在你要设计一套砝码,使得利用这些砝码可以称出任意小于等于 N 的正整数重量。那么这套砝码最少需要包含多少个砝码?注意砝码可以放在天平两边。【输入格式】输入包含一个正整数 N。【输出格式】输出一个整数代表答案。【样例输入】7【样例输出】3【样例说明】3 个砝码重量是 1、4、6,可以称出 1 至 7 的所有重量。1 = 1;2 = 6 − 4 (天平一边放 6,另一边放 4);3 = 4 − 1;4 = 4;5 = 6 − 1;

2024-03-27 16:16:26 340

原创 蓝桥杯java组 螺旋折线

如图所示的螺旋折线经过平面上所有整点恰好一次。对于整点(X, Y),我们定义它到原点的距离dis(X, Y)是从原点到(X, Y)的螺旋折线段的长度。例如dis(0, 1)=3, dis(-2, -1)=9给出整点坐标(X, Y),你能计算出dis(X, Y)吗?【输入格式】X和Y对于40%的数据,-1000

2024-03-16 19:17:53 449

原创 蓝桥杯java组 全球变暖

其中"上下左右"四个方向上连在一起的一片陆地组成一座岛屿。例如上图就有2座岛屿。由于全球变暖导致了海面上升,科学家预测未来几十年,岛屿边缘一个像素的范围会被海水淹没。具体来说如果一块陆地像素与海洋相邻(上下左右四个相邻像素中有海洋),它就会被淹没。请你计算:依照科学家的预测,照片中有多少岛屿会被完全淹没。【输入格式】第一行包含一个整数N。以下N行N列代表一张海域照片。照片保证第1行、第1列、第N行、第N列的像素都是海洋。【输出格式】一个整数表示答案。【输入样例】【输出样例】1。

2024-03-15 07:55:20 169

原创 蓝桥杯java组 测试次数

x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。

2024-03-13 08:54:49 416

原创 蓝桥杯java组 方格计数

具体代码参上好的!本次分享到这就结束了我在这先行拜谢了:)

2024-03-11 21:32:53 271

原创 [蓝桥杯Java组] k倍区间

给定一个长度为N的数列,A1, A2, … AN,如果其中一段连续的子序列Ai, Ai+1, … Aj(i

2024-03-10 20:57:53 328

原创 【leetcode】429. N 叉树的层序遍历

给定一个 N 叉树,返回其节点值的_层序遍历_。(即从左到右,逐层遍历)。树的序列化输入是用层序遍历,每组子节点都由 null 值分隔(参见示例)。

2024-03-09 22:18:46 427

原创 [leetcode] 946. 验证栈序列

给定pushed和popped两个序列,每个序列中的,只有当它们可能是在最初空栈上进行的推入 push 和弹出 pop 操作序列的结果时,返回true;否则,返回false。true我们可以按以下顺序执行:false1 不能在 2 之前弹出。pushed。

2024-03-09 08:58:48 294

原创 蓝桥杯java组 包子凑数

小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。比如一共有3种蒸笼,分别能放3、4和5个包子。当顾客想买11个包子时,大叔就会选2笼3个的再加1笼5个的(也可能选出1笼3个的再加2笼4个的)。当然有时包子大叔无论如何也凑不出顾客想买的数量。比如一共有3种蒸笼,分别能放4、5和6个包子。

2024-03-08 09:21:54 271

原创 蓝桥杯java组 分巧克力

儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足:形状是正方形,边长是整数大小相同例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。当然小朋友们都希望得到的巧克力尽可能大,你能帮小明计算出最大的边长是多少么?输入第一行包含两个整数N和K。以下N行每行包含两个整数Hi和Wi。

2024-03-08 09:10:04 361 1

原创 蓝桥杯java组 日期问题

小明正在整理一批历史文献。这些历史文献中出现了很多日期。小明知道这些日期都在1960年1月1日至2059年12月31日。令小明头疼的是,这些日期采用的格式非常不统一,有采用年/月/日的,有采用月/日/年的,还有采用日/月/年的。更加麻烦的是,年份也都省略了前两位,使得文献上的一个日期,存在很多可能的日期与其对应。比如02/03/04,可能是2002年03月04日、2004年02月03日或2004年03月02日。给出一个文献上的日期,你能帮助小明判断有哪些可能的日期对其对应吗?

2024-03-07 16:54:40 439

原创 leetcode 227. 基本计算器 II

给你一个字符串表达式s,请你实现一个基本计算器来计算并返回它的值。整数除法仅保留整数部分。你可以假设给定的表达式总是有效的。所有中间结果将在的范围内。不允许使用任何将字符串作为数学表达式计算的内置函数,比如eval()。s。

2024-03-06 20:35:29 313 1

原创 蓝桥杯java组 压缩变换(线段树解)

小明最近在研究压缩算法。他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比。然而,要使数值很小是一个挑战。最近,小明需要压缩一些正整数的序列,这些序列的特点是,后面出现的数字很大可能是刚出现过不久的数字。对于这种特殊的序列,小明准备对序列做一个变换来减小数字的值。

2024-03-05 12:57:46 325 1

原创 蓝桥杯java 取球博弈

两个人玩取球的游戏。一共有N个球,每人轮流取球,每次可取集合{n1,n2,n3}中的任何一个数目。如果无法继续取球,则游戏结束。此时,持有奇数个球的一方获胜。如果两人都是奇数,则为平局。假设双方都采用最聪明的取法,第一个取球的人一定能赢吗?试编程解决这个问题。输入格式:第一行3个正整数n1 n2 n3,空格分开,表示每次可取的数目 (0<n1,n2,n3<100)第二行5个正整数x1 x2 …

2024-02-28 14:57:15 432 1

原创 蓝桥杯java组 剪邮票

如【图1.jpg】, 有12张连在一起的12生肖的邮票。现在你要从中剪下5张来,要求必须是连着的。(仅仅连接一个角不算相连)比如,【图2.jpg】,【图3.jpg】中,粉红色所示部分就是合格的剪取。请你计算,一共有多少种不同的剪取方法。请填写表示方案数目的整数。

2024-02-21 11:42:11 332

原创 蓝桥杯java组 生命之树

在X森林里,上帝创建了生命之树。他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值。上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, …, vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连。在这个前提下,上帝要使得S中的点所对应的整数的和尽量大。这个最大的和就是上帝给生命之树的评分。经过atm的努力,他已经知道了上帝给每棵树上每个节点上的整数。

2024-02-20 10:37:49 322

原创 蓝桥杯java组 矩阵翻硬币

小明先把硬币摆成了一个 n 行 m 列的矩阵。随后,小明对每一个硬币分别进行一次 Q 操作。对第x行第y列的硬币进行 Q 操作的定义:将所有第 ix 行,第 jy 列的硬币进行翻转。其中i和j为任意使操作可行的正整数,行号和列号都是从1开始。当小明对所有硬币都进行了一次 Q 操作后,他发现了一个奇迹——所有硬币均为正面朝上。小明想知道最开始有多少枚硬币是反面朝上的。于是,他向他的好朋友小M寻求帮助。聪明的小M告诉小明,只需要对所有硬币再进行一次Q操作,即可恢复到最开始的状态。

2024-02-14 20:49:11 273 3

原创 【java多线程】Thread的基本用法

这个方法的使用很简单 哪个线程调用这个方法 哪个线程 就等待 该线程对象的线程执行结束才能执行自己的代码(ps:可以在()内放参数设置超时时间)(Thread.currentThread()方法获取的是当前的线程对象, isInterrupted()方法返回为该线程是否被中断)当我们手动调用线程对象的interrupt()方法后, 会触发sleep方法的内部异常, 让休眠停止,如上述代码, 我们维护一个isQui变量, 让其成为测试线程循环体的条件。让线程中断的方法是唯一的, 那就是让线程run方法结束。

2023-11-20 22:51:57 42 2

原创 LeetCode 98. 验证二叉搜索树

​。

2023-09-02 08:33:08 148 17

原创 数据结构:单链表 [c语言]

链表的删除操作很快,与链表长度无关。想象一下:你拿着一条项链的一个环,如何拆掉这个环?只需要拆开与它相邻的两个环,然后把相邻的两环接到一起即可。无论项链长短,拆除的操作没有区别。链表的插入也很快,与链表长度无关。链表的查找需要从头遍历,与数组类似,越长速度越慢。但由于没有下标可用,链表的遍历实际上比数组更慢一些。而且在插入、删除节点时,要先获取到必要的指针,才能删除或添加。所以,理论上,在需要经常插入节点、删除节点,而且数据量比较大的场合,非常适合使用链表。好滴!本次分享到这就结束了。

2023-08-24 11:03:30 215 10

原创 关于位操作符的两道面试题(详解)

再将a ^ b的值赋值给b (即 原a ^ 原b ^ 原b ---- a ^ b ^ b == a;再将a ^ b赋给a (即 原a ^ 原b ^ 原a ---- a ^ a ^ b == b;)直到n的值位0为止(不为0说明肯定有1)因为n-1会因为借位从而把n最右边的1变为0,而把最右边的1后的0变为1。将a - b (和-原b值) 的值赋给b,b得到原来a的值,再将 a - b (和-原a值) 的值赋给a,a得到原来a的值。a ^ b ^ a 等价于 a ^ a ^ b;

2023-08-17 17:09:37 105 8

原创 力扣498.对角线遍历c语言(详解)

题目:给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示。示例:输入:输出: [1,2,4,7,5,3,6,8,9]说明:给定矩阵中的元素总数不会超过 100000。

2023-08-16 10:03:17 202 3

原创 C语言实现“扫雷“--含展开一片功能

而我们还需要再创建一个相同大小的数组来存储排雷情况(用来向玩家展示),在初始化棋盘时用’*'来隐藏每个坐标下的含雷情况以及周围雷的个数,若玩家排查该坐标再向玩家展示,如果该坐标含雷则展示游戏失败并且展示整个含雷数组,如果该坐标不含雷则展示该坐标周围雷的个数(如果周围一个雷也没有将会展开周围一片不含雷坐标),游戏继续,直至用户踩雷,或排查了所有不含雷的坐标.因为在排查边缘坐标时会发生数组越界的问题,所以将存储数组初始化为11*11的大小,以避免数组越界的问题,而将原本越界的坐标设置为无雷。

2023-08-15 16:42:28 192 2

原创 java 异常入门

基本概念>>Java语言中,将程序执行中发生的不正常情况称为“异常”。(开发过程中的语法错误和逻辑错误不是异常)执行过程中发生的异常可分为两类>>1)Error(错误): Java虚拟机无法解决的严重问题。如: JVM系统内部错误耗尽等严重情况, StackOverflowError[栈溢出]和OOM(out ofmemory),Error 是严重错误,程序会崩溃。其它2)Exception: 因编程错误或偶然的外在因素导致的一般性问题,可以使用针对性的代码进行处理。

2023-08-13 12:59:12 34 2

原创 Java异常机制介绍

Java语言中,将程序执行中发生的不正常情况称为“异常”。

2023-08-13 12:57:30 85 1

原创 搜索插入位置

情况2:如果target>middle则lower+1,upper不变(upper = n;lower = n+1)会返回n+1。情况1:如果target>middle则upper-1,lower不变(lower = n;upper = n-1)会返回n。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。输入: nums = [1,3,5,6], target = 5。输入: nums = [1,3,5,6], target = 2。输入: nums = [1,3,5,6], target = 7。

2023-07-26 19:39:40 22 1

原创 寻找数组的中心索引

如果中心下标位于数组最左端,那么左侧数之和视为 0 ,因为在下标的左侧不存在元素。左侧数之和 sum = nums[0] + nums[1] + nums[2] = 1 + 7 + 3 = 11 ,右侧数之和 sum = nums[4] + nums[5] = 5 + 6 = 11 ,二者相等。右侧数之和 sum = nums[1] + nums[2] = 1 + -1 = 0。数组 中心下标 是数组的一个下标,其左侧所有元素相加的和等于右侧所有元素相加的和。输入:nums = [2, 1, -1]

2023-07-25 21:38:11 33 1

原创 7-42 整除光棍(20 分)

然后,经过计算,输出两个数字:第一个数字s,表示x乘以s是一个光棍,第二个数字n是这个光棍的位数。但难点在于,s可能是个非常大的数 —— 比如,程序输入31,那么就输出3584229390681和15,因为31乘以3584229390681的结果是111111111111111,一共15个1。(1.将s/x(除数为x)得到的商写入横线上方 2.余数*10+下一位(由于咱们的被除数是光棍数 所以所有的下一位都为1)的值赋给s)余数*10+下一位(由于咱们的被除数是光棍数 所以所有的下一位都为1)的值赋给s。

2023-07-22 22:41:54 36

空空如也

空空如也

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

TA关注的人

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