自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Java】韩顺平Java学习笔记 第17章 多线程基础

主线程直接调用 run 方法,则run 方法会被当作一个普通的方法,主线程要执行完 run 方法后才会执行主线程剩余的代码,即主线程被阻塞。故直接调用 run 方法,没有真正地创建一个子线程,必须调用 start 方法start 源码里会执行 start0 方法是本地方法(native方法),由 jvm 机和操作系统 调用调用 start0 方法后,只是将线程变成了可运行状态,具体什么时候上 CPU 执行,需要根据操作系统的调度算法。

2024-05-19 15:30:00 1262 1

原创 【Java】韩顺平Java学习笔记 第16章 坦克大战

重写 JPanel 的 paint 方法引入参数Graphics(画笔)Graphics提供绘图方法。建立的画图的类需要继承。paint被调用的时机。与文件名相同的类继承。

2024-05-18 13:00:00 699

原创 【Java】韩顺平Java学习笔记 第15章 泛型

自定义泛型类是自己写的带泛型的类class Tiger<T,R,M>{} //标识符可以有多个普通成员(属性,方法)可以使用泛型使用泛型的数组,不能初始化(不能在类内 new,但是可以在类内new一个HashMap,因为这时并没有创建空间,HashMap只有在添加Node节点时才会创建空间),因为不确定类型,不知道开辟多大空间静态方法和静态属性不能使用类的泛型,因为静态和类相关,在类加载时对象还没有创建,而泛型在创建对象时才会确定语法静态成员也不能使用泛型。

2024-05-17 15:13:47 757

原创 【LeetCode 刷题笔记】链表 哈希表(15-29)

当我们遇到了要快速判断一个元素是否出现集合里的时候,就要考虑哈希法集合底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率std::set红黑树有序否否O(log n)O(log n)红黑树有序是否O(logn)O(logn)哈希表无序否否O(1)O(1)映射底层实现是否有序数值是否可以重复能否更改数值查询效率增删效率std::map红黑树key有序key不可重复key不可修改O(logn)O(logn)红黑树。

2024-05-17 15:12:20 677

原创 【LeetCode 刷题笔记】12、13、14

你想要尽可能多地收集水果。你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组。所有元素,且元素按顺时针顺序螺旋排列的。,返回你可以收集的水果的。,返回矩阵中的所有元素。

2024-04-30 18:36:00 619 1

原创 【LeetCode 刷题笔记】10.有序数组的平方 11.长度最小的子数组

循环开始,快指针向前不断移动,知道经过的数字的和 sum 大于等于 target ,此时移动慢指针,并且不断更新最小数组长度 result 以及经过的数字的和 sum。若某次移动慢指针后的和小于 sum,则继续移动快指针,直到 sum 再次大于 target,如此循环往复。result 的初始值设为一个很大的值(最好是解法一中Int的最大值),如果最后这个值没改变,说明没有符合条件的子序列,返回0。首先要思考 如果用一个for循环,那么参数 i 应该表示 滑动窗口的起始位置,还是终止位置。

2024-04-28 21:20:18 793

原创 【Java】韩顺平Java学习笔记 第14章 集合

prefGrowth是想要增加的长度,传入了oldCapacity >> 1,这里是位运算,向右移动一位,等于原来大小的二分之一,这就是之后每次增加的大小是原来的1.5倍的原因。HashSet 实际上也用了 HashMap , 但其 value 值是系统自定的PRESENT,而Map里value值是自定的(Map 保存具有映射关系的数据 key - value,双列元素)如果是之后的拓展,minCapacity就是现在的容量+1,minCapacity就是“至少需要的容量”的意思。

2024-04-28 19:16:47 1335

原创 【LeetCode刷题笔记】7.删除有序数组中的重复项(26)8.移动零(283)9.比较含退格的字符串(844)

两个字符串,当它们分别被输入到空白的文本编辑器后,如果两者相等,返回。**注意:**如果对空文本输入退格字符,文本继续为空。移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。**进阶:**你能尽量减少完成的操作次数吗?** 删除重复出现的元素,使每个元素。如果所有断言都通过,那么您的题解将被。,返回删除后数组的新长度。,编写一个函数将所有。

2024-04-25 18:09:23 605 1

原创 【LeetCode刷题笔记】6.移除元素(27)

题目给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以**「引用」**方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说,不对实参作任何拷

2024-04-24 21:15:33 779

原创 【LeetCode刷题笔记】2.搜索插入位置(35)3.x的平方根(69)4.有效的完全平方数 5.在排序数组中查找元素的第一个和最后一个位置(34)

给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1, -1]。你必须设计并实现时间复杂度为O(log n)的算法解决此问题。输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]输入:nums = [], target = 0输出:[-1,-1]nums。

2024-04-24 09:45:30 445

原创 【LeetCode刷题笔记】1.二分查找(704)

看low == high 是否可以取到,在这里是取得到的,举极端例子[1,1]的区间,1 == 1.修改为 high = mid -1 ,此时high初始值为nums.size() -1 也是这个道理。high取不到,写 high = mid ,即使mid已经判断过,下次判断时mid也不在判断区间内。修改时,假设修改high,因为右闭,high可以取得到,故修改时不能有刚刚已经判断过的mid,即。[1,1)有矛盾,low == high 不可以取到,故写 low<high。

2024-04-24 09:42:58 151

原创 【Java】韩顺平Java 学习笔记 第13章 常用类

即 value 可以修改里面的值,但是不能修改指向的地址。String str = “xxxxx” : 直接在常量池中创建“xxxxx”字符串常量,对象直接指向它。new String 对象:先在堆创建values数组,再指向常量池中的字符串常量(对象在栈中)字符串不可变,一个字符串对象一旦分配,内容不变,修改字符串的值实际上是在常量池创建。对象不相等,但里面的属性指向常量池的同一个对象,这两个属性相等。总结:常量相加,看的是池;包装类与基本数据类型的转换:自动装箱拆箱。一个新的字符串,变量指向它。

2024-04-23 19:47:23 521

空空如也

空空如也

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

TA关注的人

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