- 博客(13)
- 收藏
- 关注
原创 代码随想录刷题Day10栈和队列初步(力扣232,225,20,1047)
用两个队列模拟栈和用两个栈模拟队列的思路是完全不一样的;这里的第二个队列是起到辅助作用,而不是像两个栈模拟队列一样是起到协同作用的。疑问点:In和Out里面的区别和联系–In里面只是一部分,要把所有的数据抽象地看成是一部分一部分的这样就可以 理解啦。较为简单的模拟题,对其中辅助函数的理解不是很深:本质上是把In栈里面前面的放到Out里面。和匹配括号是相似的,难度不是很大,但是要熟悉相关的字符串api,不然还是做不下去。接口是一个队列的抽象,它定义了队列的基本操作。可能是当前的字符和栈顶的不一样(!
2024-07-24 19:17:01
290
1
原创 代码随想录刷题Day9字符串进阶(力扣151,卡码网55)
第一遍用的Java内置的分割之类的api,虽然很简单,但是用时和内存都是垫底的,所以看完了题解,再敲一遍。注意这种需要循环移位的最好是从后向前遍历,否则可能会出错。
2024-07-15 16:49:44
352
原创 代码随想录刷题Day8字符串初步(力扣344,541,卡码网54)
本题主要是锻炼acm模式,对于Java的输入和输出还不是很熟悉。核心是找好end的指针位置,要和最后一位进行比较。本题用Java实现非常简单,不多赘述;
2024-07-15 14:42:41
296
原创 代码随想录刷题Day7哈希表进阶(力扣454,383,15,18)
本题一开始想的是用暴力去解,但是超时了,得用双指针,此种解法的时间复杂度在o(n^2)以内。本题是在三数之和的基础上套了一层循环,思路是一样的;但是需要剪纸,不然会有溢出的情况。数组一和数组二的分别值的和以(值,次数)的形式存入hashmap。看-1*(数组三和数组四分别的和)在不在在hashmap里面。本题目不用去重,所以还是相对简单。本题因为是全小写字母,因此可以用哈希地址策略。4.设置值(更新操作相同)HashMap的使用总结。2.查询是否存在key。
2024-07-13 18:12:01
262
原创 代码随想录刷题Day4链表(力扣19,24,07)
代码中采用了虚拟头节点。这样慢指针最终指在目标的前一个,删除即可。本题很妙,需要用两个指针来控制“倒数第几个”这个概念。本题容易出现空指针的问题,要使用。做法是快慢指针,需要公式的推导。
2024-07-07 16:00:29
235
原创 代码随想录刷题Day3链表(力扣203,209,707)
/ 节点类int data;Node next;// 添加元素到链表末尾} else {= null) {// 删除链表中的第一个元素if (head!= null) {// 查找元素= null) {// 打印链表= null) {// 输出: 1 2 3// 输出: 2 3// 输出: true// 输出: false// 节点类int data;Node prev;Node next;
2024-07-05 23:23:50
420
原创 代码随想录刷题Day2(力扣977,209,59)
本题的最佳解法为双指针,一前一后,哪个更大放入结果数组中。点评:本题考察的是对数组边界的控制能力,在我这里比上面 两题都要难。本体最好使用队列,不然会超时。
2024-07-04 23:15:32
240
原创 23-10-03总结[linux-c]
PS:个人感觉在Linux上面写C++/C还是很有趣的gcc编译过程:命令:gcc [file] -o [target] (如果没有target,则默认生成a.out)gcc参数有-g时会包含调试信息。
2023-10-03 04:00:18
119
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人