赞
踩
我也有自己写题解的能力了,而且思维很清晰:
找什么就在if里写什么。
自己想的:找右边界,代码比之前的简洁很多:
哇神呀,自己写的:
Line 1037: Char 9: runtime error: reference binding to null pointer of type 'int' (stl_vector.h)是空指针访问,注意检查nums.size()==0
快慢双指针入门。
其实第二句while写错了,但是竟然通过了。说明第二句while根本就没有执行!
性能很差,让我们优化一下:
直接删除第二句while就好了!因为nums[j]==val的话 根本不会进入while,交给for里面的j++来处理就好了:
没什么好说的。
最短连续子数组问题,滑动窗口。
怎么就一直学不会滑动窗口呢。。。
没做出来,发现问题了,滑动的应当是右指针for()里面填,这样一来,sum的初始化应当放到for的外面。Res的更新语句放的位置也有问题。我刚开始想错了,应当是:
//最短,一发现符合,就缩
//如果是最长,一发现不符合,就扩
很有收获。
不行呀,还是卡住了。
忘记更新x,y了。并且:走过了 !=0 那么就要更新偏移量。
Runtime error;因为缺少了一个更新当前指针的语句
因为是排序的链表,那么只用针对连续情况去做判断和处理。
只要指针右移了,而且要访问其val或者next,则使用前必须判空(判自己,而不是next),否则会造成段错误。
题面:在一个排序的链表中,存在重复的节点,请删除该链表中重复的节点,重复的节点不保留。
这题有难度,要求重复的节点不保留,显然需要三指针了。
迭代法和递归法都思路不清晰或者说没思路!重新学咯:
迭代法和递归法。
迭代法:
递归法:想不出来呀。
太抽象了,不管了。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。