- 博客(16)
- 收藏
- 关注
原创 差分数组_洛谷P3406 海底高铁
假设我们有一个原始数组arr,其差分数组diff定义为:通过差分数组可以快速恢复原始数组:2. 核心操作:区间更新当需要对原始数组arr的区间[l, r]中的每个元素增加val时:原理: 当计算前缀和时,diff[l]的增量会影响从l到末尾的所有元素,而diff[r+1]的减量会抵消超过r的部分,从而实现区间[l, r]的精准更新。3. 恢复原始数组通过前缀和数组可以将差分数组还原为原始数组题目大意是说,Uim 要按照给定的顺序访问 M 个城市,每次移动会经过多个铁路段。
2025-04-21 19:30:40
587
原创 Johnson 算法的排序规则(全排列生成算法)
Johnson 算法主要用于解决两台机器的流水作业调度问题,目标是找到一个任务执行顺序,使得所有任务在两台机器上的总处理时间最短。假设有n个任务,每个任务i需要先在机器M1 上处理ai时间,再在机器M2 上处理bi时间,且机器M1 和M2 对任务的处理都必须依次进行,机器M2 处理任务i必须在机器M1 完成任务i之后开始。
2025-04-21 19:25:54
480
原创 Java集合初学到运用
定义:哈希值是一个int类型的数值,Java 中每个对象都有一个哈希值。获取方法:Java 中的所有对象,都可以调用Object类提供的hashCode方法,返回该对象自己的哈希值。方法签名public int hashCode(): 返回对象的哈希码值。相同对象的哈希值:同一个对象多次调用hashCode()方法返回的哈希值是相同的。不同对象的哈希值:不同的对象,它们的哈希值一般不相同,但也有可能会相同(哈希碰撞)。范围:哈希值是一个int类型的数值,其范围在-21亿多到21亿多之间。
2024-12-21 13:15:29
1001
原创 常用API类——String
时,JVM 会先检查字符串常量池,如果没有 "hello",就会在字符串常量池中创建一个 "hello" 的字面量。在这个例子中,sb初始值为"Hello",调用sb.setLength(3)后,sb的长度被设置为 3,因此它的值变为"Hel"3.当调用字符串的 replace () 替换现有的某个字符时,需要重新开辟空间保存修改以后的字符串,不能在原有的位置修改。2.当对现有的字符串进行拼接操作时,需要重新开辟空间保存拼接以后的字符串,不能在原有的位置修改。例如,在上面的示例中,(为了GC更好地处理)
2024-12-20 21:34:53
784
原创 java里String的一些方法和注意点
字符串拼接时会产生新的字符串直接赋值时而手动new出来的,每new一个就在堆里开辟一个新的空间String的常见方法读取用户输入的字符串时,会创建一个新的String对象。而str2是通过字符串字面量"abc"创建的,这可能会从字符串常量池中获取对象。
2024-12-03 21:28:11
425
原创 Java 中继承关系四种权限修饰符
在另一个包中定义Employee类继承自Person// 在Employee类(作为Person类的子类)中可以访问protected属性idNumberSystem.out.println("Employee访问Person类的protected属性idNumber: " + idNumber);// 在同一个包(package1)中可以访问默认属性address,// 但由于现在Employee类在不同包(package2),所以无法直接访问address属性,会报错。
2024-11-26 20:56:53
608
原创 双色球彩票问题介绍java数组
中奖号码只是其中的几种特定组合,所以中奖概率很低。从 16 个蓝球中选 1 个的组合数为。那么总的号码组合数就是。
2024-11-22 19:57:54
1712
原创 java对象数组
方法,这样才能按照期望的逻辑比较数组中的对象是否相等。否则,如果使用默认的。通过遍历这个数组,我们可以访问每个。方法(比较引用),可能会得到不符合预期的结果。对于对象数组,要确保对象类正确重写了。就是一个对象数组,它的每个元素都是。对象的属性,如书名和作者。
2024-11-22 19:14:07
717
原创 fgets()函数和isalpha()函数
或者达到指定的最大字符数时停止读取,而缓冲区中剩余的字符可能包含未处理的换行符和其他多余的字符。函数也用于读取字符串,但它不检查缓冲区的大小,很容易导致缓冲区溢出,这是一个严重的安全隐患。如果不希望保留换行符,可以在使用读取到的字符串时进行处理,例如通过。printf("请输入多行文本,输入'exit'结束:\n");printf("你输入的是:%s", buffer);printf("你输入的内容是:\n%s", input);printf("读取到的字符: %s", buffer);
2024-11-17 20:16:35
1111
原创 折半查找的入门使用
使用折半查找递归算法判断目标整数是否在数组中,如果在,返回其索引;如果不在,返回 -1。,使用折半查找递归算法判断目标字符是否在数组中,如果在,返回其索引;如果不在,返回 -1。// 用 0 表示未找到,1 表示找到。排好序从小到大,N个数,int(log2 N)+1(最多比较次数)// 处理输入缓冲区中的换行符。// 输入要查找的数。输出:6(目标整数在数组中的索引)输出:3(目标字符在数组中的索引):给定一个有序整数数组。:给定一个有序字符数组。
2024-11-06 20:26:20
932
原创 C语言——冒泡排序
i++)//0到 4 两次减一作用并不相同。j++)//0到 4。i++)//0到 4。i++)//0到 4。i++)//0到 4。//相邻元素两两比较,大放右,小放左。//相邻元素两两比较,大放右,小放左。//相邻元素两两比较,大放右,小放左。找清楚规律后发现只需进行双层嵌套解决。}//重复n-1次(n个数据)
2024-10-27 10:39:35
401
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅