- 博客(13)
- 收藏
- 关注
原创 代码随想录第八天
3 记住,String对象是不可变的,所以转换后的字符串是不可改变的。6 append方法是StringBuilder和StringBuffer类中的方法,用于在字符串对象的末尾追加新的字符序列。2将char [ ]--->String 使用new String()构造方法 或者 .valueOf()方法。它由集合接口或具体实现类提供,并返回该集合中元素的个数。2注意求String类型的长度时 要用.length()方法!1 stringbuilder 单线程 比较快!
2023-08-15 23:59:18 50 2
原创 代码随想录第六天 与第七天
无限循环------>会出现相同的数进行循环--------->HashSet如果出现重复也就是set.contains(n)那么就说明无限循环.是将nums1[ i ] 看作为 i 而普通for要写成 nums1[i] +nums[j] 才等效于i + j。我尝试使用一个HashSet来进行发现不会成功.......会进行两层循环,也就是时间复杂度为o(n*n)为一个正数,根据递增排序后面的数都为正数,就不用继续排序了!那么代表循环继续的条件是n既不能等于1,又不能在无限循环中。
2023-08-15 00:46:58 57 2
原创 21. 合并两个有序链表
问题一:每次while循环只能进行一次链接操作,因为每次只有一次p指针的变化!每次进行复制代码时要注意变量的变化,,,,,,,还要注意。
2023-08-13 21:56:35 22 1
原创 代码随想录第六天
s.charAt(i) - 'a'的意思就是 目标字符的ANSI值 减去了 'a'这个字符的ANCII值。求数组长度使用的是 s.length() 方法所以要加() 而数组length是属性 所以不用加()注意点3: 注意字符串s 比 字符串p 个数少的情况 可以直接return 一个空数组。s.charAt (int index) 方法 指的是获取该字符串index索引下的字符." ,所以我们只需要相对的字符代表的ANCII值就足够了,这也是为什么。
2023-08-13 16:42:43 43 1
原创 234. 回文链表
这五行代码一定要在纸上实施一遍再去确定最后while遍历用的是pre还是cur。奇数个最后一次遍历之后的情况。偶数个最后一次遍历之后的情况。
2023-08-13 00:12:42 24 2
原创 代码随想录第四天
因为我对链表题目图与代码的转换不是很清晰,所以我用白话总结了一张图,比较生动形象这道题我ac了,但是走了一些弯路,这个是我引用代码随想录的代码。
2023-08-12 22:28:48 20 1
原创 代码随想录第三天203.移除链表元素 707.设计链表 206.反转链表
203.移除链表元素注意几个细节因为如果我们不是要遍历结束,我们是只要保证头节点不是空指针并且头节点的值不为val就ok了2.cur是指针 注意不要和head头节点搞混3.使用虚拟节点707.设计链表该题暂时没有时间解析。
2023-08-12 01:30:33 15 1
原创 54.螺旋矩阵
所以有可能遍历过的元素又跑回去,例如下图的7 之后又会跑到6的位置,导致我们的循环数组越界。这道题是螺旋矩阵2的变式,但是它这次给的不是正方形了,所以有一个。就是长方形最后遍历结束如果上下边界重合时,左右边界有可能未重合,但正方形就没有这个担忧:下图是正方形会出现的两种情况。
2023-08-11 10:39:04 24 1
原创 904. 水果成篮
那就让水果种类sum加一.i。取两个篮子中水果的个数 ( i - j + 1 )进行比较,留下较大的数值,就是最多能采摘的个数!( 对应的 basket[ fruits[ j ] ] == 0 )( 对应的 basket[ fruits[ i ] ] == 1 )每一次for循环结束时,也就是每一次水果种类为两种时,要注意对应j++的位置是位于while循环的结束。保持不变的就是水果种类要保持两种。(也就是i指针移动的过程)(也就是j指针移动的过程)
2023-08-10 23:50:51 79 1
原创 代码随想录算法训练营第一天| 704. 二分查找、27. 移除元素。
在middle计算中,我使用了移位运算符进行除2的操作,但此运算符优先级低于基本数学运算符。注意是nums[i]!= val 不等于val值的时候才对慢指针的位置进行赋值。要注意的点为最后的返回的是Left,这个记住即可,我花了一些时间看题解,归纳了情况.一开始将left与right写反了误写成了。
2023-08-09 20:23:24 408 2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人