自定义博客皮肤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)
  • 收藏
  • 关注

原创 既约分数(蓝桥)

既约分数是指,分子和分母的公约数都只有1的分数,请输出1~2020之间的既约分数的个数。import java.util.Scanner;// 1:无需package// 2: 类名必须Main, 不可修改public class Main { public static void main(String[] args) { Scanner scan = new Scanner(System.in); //在此输入您的代码...

2023-02-19 00:39:32 190

原创 区间覆盖(蓝桥)

给定长度为m的区间,再给出闭区间的n段线段的起点和终点,输出最少使用多少线条可以将整个区间覆盖?排序算法没有写好,初始边界和最终边界的判断因此有些问题。不过中间的思路很正确。

2023-02-18 22:43:42 111

原创 货物摆放(蓝桥)

题目描述小蓝有一个超大的仓库,可以摆放很多货物。现在,小蓝有n箱货物要摆放在仓库,每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向,每箱货物的边都必须严格平行于长、宽、高。小蓝希望所有的货物最终摆成一个大的长方体。即在长、宽、高的方向上分别堆LWH 的货物,满足n=L×W×H。给定n,请问,当n=2021041820210418(16 位数字)时,总共有多少种方案?提示:建议使用计算机编程解决问题。import java.util.Scanner;

2023-02-16 00:23:27 243

原创 等差素数列(蓝桥)

题目描述本题为填空题,只需要算出结果后,在代码中使用输出语句将所填结果输出即可。2,3,5,7,11,13,.... 是素数序列。 类似:7,37,67,97,127,157 这样完全由素数组成的等差数列,叫等差素数数列。上边的数列公差为30,长度为6。2004 年,格林与华人陶哲轩合作证明了:存在任意长度的素数等差数列。 这是数论领域一项惊人的成果!有这一理论为基础,请你借助手中的计算机,满怀信心地搜索:长度为10的等差素数列,其公差最小值为多少?import java.ut

2023-02-15 23:33:16 103

原创 递增序列(蓝桥)

有LN、LN、AN、AN、IO、AO、LQ、AI、NO、NO、AQ、IN、AN 等 13 个 递增序列。注意当两个字母是从左下到右上排列时,从左向右看和从上向下看 是不同的顺序。对于一个字母矩阵,我们称矩阵中的一个递增序列是指在矩阵中找到两个字母,它们在同一行,同一列,或者在同一 4545 度的斜线上,这两个字母从左向右看、或者从上向下看是递增的。对于下面的 30 行 50 列的矩阵,请问总共有多少个递增序列?参考的大神的思路,自己没有脑子。

2023-02-12 00:27:21 90

原创 跑步锻炼(蓝桥)

小蓝跑步已经坚持了很长时间,从 20002000 年 11 月 11 日周六(含)到 20202020 年 1010 月 11 日周四(含)。请问这段时间小蓝总共跑步多少千米?正常情况下,小蓝每天跑 11 千米。如果某天是周一或者月初(11 日),为了激励自己,小蓝要跑 22 千米。如果同时是周一或月初,小蓝也是跑 22 千米。小蓝每天都锻炼身体。

2023-02-04 21:10:32 70

原创 数字三角形(蓝桥)

通过分析题意,在稿纸上进行模拟,我发现要想满足 题中 向左下走的次数与向右下走的次数相差不能超过 1,就必须使得走到最后一层的时候在中间,奇数的中位,偶数的中间两位的较大者。此外,向左下走的次数与向右下走的次数相差不能超过 1。这个代码的关键是数组长n+1,储存时从1开始到n,因为 递推公式中有[i-1][j-1],所以避免了数组下标中含有-1。输入的第一行包含一个整数 � (1≤�≤100)N (1≤N≤100),表示三角形的行数。我的呕心沥血,换来的是40%的通过率,我的心碎成了八百瓣。

2023-02-02 22:04:28 70

原创 门牌制作(蓝桥)

小蓝制作门牌的方法是先制作 00 到 99 这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌 1017 需要依次粘贴字符 1、0、1、7,即需要 1个字符 0,2 个字符 1,1 个字符 7。这条街一共有 20202020 位住户,门牌号从 11 到 20202020 编号。请问要制作所有的 1 到 20202020 号门牌,总共需要多少个字符 2?小蓝要为一条街的住户制作门牌号。

2023-01-14 23:05:45 63

原创 回文日期(蓝桥)

也有人表示 20200202 并不仅仅是一个回文日期,还是一个 ABABBABA 型的回文日期。后来在题解里找灵感,发现可以将八位数字分为四位变量,两两为一个变量,这样总共只需要分析两个数字,分别为月份和日期,范围分别为(1~12)(1~31),另外两个数字由这两个数字翻转而来,这样就能满足既是年份又是回文串。给定一个 8 位数的日期,请你计算该日期之后下一个回文日期和下一个 ABABBABA 型的回文日期各是哪一天。第一行表示下一个回文日期,第二行表示下一个 ABABBABA 型的回文日期。

2023-01-14 22:45:20 70

原创 贪心算法:找零问题+活动安排问题

活动安排:起始时间S[i],结束时间F[i],(S[i],F[i])(S[j],F[j])不相交视为相容。找零问题:买了x元,给y元,期望用张数最少的纸币给顾客。给n个活动的始末时间,使得安排的活动数最多。币值 {50,20,10,5,2,1}

2023-01-11 23:05:49 123

原创 成绩统计(蓝桥)

输入的第一行包含一个整数 n\ (1 \leq n \leq 10^4)n (1≤n≤104),表示考试人数。小蓝给学生们组织了一场考试,卷面总分为 100 分,每个学生的得分都是一个 0 到 100 的整数。输出两行,每行一个百分数,分别表示及格率和优秀率。如果得分至少是 60 分,则称为及格。如果得分至少为 85 分,则称为优秀。接下来 nn 行,每行包含一个 0 至 100 的整数,表示一个学生的得分。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整 数。

2022-12-21 23:12:55 77

原创 单词分析(蓝桥)

小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组 成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪 个。如果有多个字母出现的次数相等,输出字典序最小的那个。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这 个字母出现的次数。第二行包含一个整数,表示出现得最多的那个字母在单词中出现的次数。

2022-12-21 21:41:37 61

原创 idea新建javaweb项目(含servlet)

(点击Artifact)就会产生一个项目了。找到Tomcat下lib的servlet。点击+引入tomcat(Local那个)我的文件排列以及对web.xml的修改。

2022-10-09 22:03:14 98

原创 经典算法9——索引查找

索引查找是在索引表和主表(即线性表的索引存储结构)上进行的查找。

2022-08-21 14:04:07 400

原创 经典算法8——希尔排序

希尔排序是插入排序的一种,又称“缩小增量排序”,是直接插入排序算法的一种更高效的改进版本。希尔排序是非稳定排序算法。

2022-08-16 19:09:15 105 1

原创 经典算法7——快速排序

​快速排序,是对冒泡排序的一种改进。​

2022-08-15 14:31:40 212 1

原创 经典算法6——冒泡排序

冒泡排序是指,将被排序的记录数组R[1..n]垂直排列,每个记录R看作是重量为R.key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡是扫描到违反原则的轻气泡,就使其向上“漂浮”,如此反复进行,直到最后,任何两个气泡都是轻者在上重者在下。冒泡排序时,第i趟扫描时,R[1..i-1]和R[i..n]分别为当前的有序区和无序区。交换排序的基本思想是:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。执行过程未定义新的空间,所以空间复杂度为O(1)...

2022-08-12 14:45:00 141

原创 经典算法5——折半插入排序

​折半插入排序是对插入排序算法的一种改进,所谓插入排序,就是不断的依次将元素插入前面已经排好序的序列中。由于前半部分为已排好序的数列,这样我们就不用按照顺序依次寻找插入点,可以采用折半查找的方法来加快寻找插入点的速度。......

2022-08-10 14:19:21 275

原创 字符串转整数

将前面步骤读入的这些数字转换为整数(即,"123" -> 123, "0032" -> 32)。第 2 步:"4193 with words"(当前没有读入字符,因为这里不存在 '-' 或者 '+')由于 "-42" 在范围 [-231, 231 - 1] 内,最终结果为 -42。第 2 步:"42"(当前没有读入字符,因为这里不存在 '-' 或者 '+')第 2 步:" -42"(读入 '-' 字符,所以结果应该是负数)第 1 步:"42"(当前没有读入字符,因为没有前导空格)...

2022-08-09 17:45:36 93

原创 经典算法4——折半查找

首先,假设表中元素是按升序排序,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功;否则利用中间位置记录将表分成前后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一字表。重复以上过程,直到查找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。二分查找的基本思想是将n个元素分成大致相等的两部分,取a[n/2]与x做比较,如果x=a[n/2],则z找到x,算法终止;如果x>a[n/2],则只要在数组的右半部分继续搜索x。......

2022-08-08 15:02:13 330

原创 验证回文串(双指针)

给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:本题中,我们将空字符串定义为有效的回文串。

2022-08-08 00:36:35 165

原创 字符串中的第一个唯一字符

给定一个字符串 s ,找到 它的第一个不重复的字符,并返回它的索引(下标)。如果不存在,则返回 -1。题目比较简单易懂,官方给出的思路是运用哈希表,哈希表学术不精,先拿数组做吧。输入: s = "loveleetcode"输入: s = "leetcode"输入: s = "aabb"......

2022-08-06 15:29:44 111

原创 反转字符串(指针)(力扣)

不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用 O(1) 的额外空间解决这一问题。极少见的简单题目,与之前的一个题目叫移动0好像差不多,都是运用双指针,相较之下此题更加简单。编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组 s 的形式给出。输入:s = ["h","e","l","l","o"]输出:["o","l","l","e","h"]...

2022-08-05 16:06:26 180

原创 经典算法3——直接选择排序

​直接选择排序又称简单选择排序,是一种不稳定的排序方法,是选择排序中最简单的一种。

2022-08-05 14:48:36 278

原创 有效的数独(哈希表的使用)(力扣)

建立一个三层的哈希表,一层用来检测行,一层用来检测列,一行用来检测块。写一个函数,对其进行列、行、块的遍历,若存在同一数值的其他地址存在,则返回false,否则返回true。而(0-9)/3会在(0-2)时等于0,(3-5)时等于1,(6-8)时等于2(很类似2进制)数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。之后再分别给(i/3)和(j/3)乘3可以得到初始位置。已知(0-9)%3会经历3个(0-3)的循环。由i/3和j/3可以得出(一共有9个范围)设n=3*(j/3)+a/3。...

2022-08-04 12:57:13 109

原创 两数相加(力扣)

给你两个非空 的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。

2022-08-03 11:51:01 1732

原创 两数之和(力扣)

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回他们的数组下标。

2022-08-02 14:00:49 48

原创 经典算法2——插入排序

插入排序的学习与使用

2022-08-02 13:22:44 61

原创 经典算法1——顺序查找

顺序查找是按照序列原有顺序对数组进行遍历比较查询的基本查找算法。

2022-08-01 11:09:10 1077

原创 移动0(双指针的使用)(力扣)

给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。请注意,必须在不复制数组的情况下原地对数组进行操作。示例 1:输入: nums = [0,1,0,3,12]输出: [1,3,12,0,0]示例 2:输入: nums = [0]输出: [0]提示:1 <= nums.length <= 104 -231<= nums[i] <= 231- 1题目好理解,如果没有原地操作这个要求的话........

2022-06-10 18:48:06 111

原创 加一(非空数组)(力扣)

给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外,这个整数不会以零开头。示例1:输入:digits = [1,2,3]输出:[1,2,4]解释:输入数组表示数字 123。示例2:输入:digits = [4,3,2,1]输出:[4,3,2,2]解释:输入数组表示数字 4321。示例 3:输入:digits = [0]输出:[1]......

2022-06-09 21:27:38 137

原创 两个数组的交集(初用哈希表)(力扣)

给你两个整数数组nums1和nums2,请你以数组形式返回两数组的交集。返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值)。可以不考虑输出结果的顺序。示例 1:输入:nums1 = [1,2,2,1], nums2 = [2,2]输出:[2,2]示例 2:输入:nums1 = [4,9,5], nums2 = [9,4,9,8,4]输出:[4,9]提示:1 <= nums1.length, nu......

2022-06-08 20:44:00 158

原创 存在重复元素(力扣)

给你一个整数数组nums。如果任一值在数组中出现至少两次,返回true;如果数组中每个元素互不相同,返回false。示例 1:输入:nums = [1,2,3,1]输出:true示例 2:输入:nums = [1,2,3,4]输出:false示例3:输入:nums = [1,1,1,3,3,4,3,2,4,2]输出:truebool函数默认为判断true与false的函数。看到这几个题觉得直接内外双for循环比较就行了,写了一下运行不...........

2022-06-07 19:45:52 100

原创 只出现一次的数字(力扣)

给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4题目好理解,受上一题的影响,我想着先排序再进行遍历,利用限制条件能找到目标数字,想法很好,但是运行不出来,可能是我基础功不扎实。看评论区都在说异或,就去学了一下异或的c语言,3^3=0;3^0=3;.

2022-06-07 19:29:11 49

原创 轮转数组(力扣)

解答题目时,第一次看评论收到错误指示,以为下标只需要一个j=(j+I)%numsSize就可以解决问题,为了应用这个式子,开辟了一个新的数组(从这个时候就已经不符合题意了),新的数组长度未知,学习了定义未知长度的数组:int* num;num = (int *)malloc(numsSize* sizeof(int));得到的代码是:void rotate(int* nums, int numsSize, int k){ int i,j; int* num; k=k%............

2022-06-07 19:17:26 94 1

空空如也

空空如也

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

TA关注的人

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