- 博客(4)
- 收藏
- 关注
原创 leetcode从零开始之26-30
思路:题目的涵义就是用加减法代替除法。只要理清楚第一步和第二步中的+1与第二步中的-1都是指的窗口内的单词个数,而第一步中的-1则是题目所需要的个数,而窗口内所有单词的次数总和为k,而题目所给字符串数组中单词的个数也是k,只有当窗口内所有单词都是为了满足字符串数组中的单词而存在,才会使hashmap中的key值对应的value都为0(由于value为0时移除,所以都为0也对应map为空)。这里-1与+1的区别是,+1的含义是当前窗口内含有一个,-1的含义是题目中的条件还需要一个,类型:字符串,滑动窗口。
2024-11-08 00:14:46
802
原创 leetcode从零开始之16-20
思路:类似于三数之和的升级版,由于双指针是由两个边界往中间,暂时没想到三指针,采用的方法为两端分别固定一头,一个最左边,一个最右边,然后将中间部分采用双指针方案寻找满足条件的四个数,两边的数则需要循环确定,本题的关键点是几种剪枝方案需要实现,实现合适的剪枝方案可以大幅减少运行时间。思路:经典链表的基本操作,关键是怎么确定当前位置为倒数第N个,采用的方法为设立两个指针,一个先走n步后,第二个再出发,这样第一个到最后一个节点时,第一个在倒数第N个结点上,找出结点后就是经典的链表删除节点操作。
2024-11-05 17:02:56
829
原创 leetcode从零开始之6~10
思路:这种看上去没有很多实际作用的题目多半是找规律,题目所求的为经过z字形变换后,按行优先读取的字符串,所以只需要找到所需字符串要怎么求便可,本题可知道若numRows为n则以2n-2为一个周期,于是找出在第一个周期内按什么顺序获取字符,便可知道怎么获取最终字符串。在一个周期内第一行和最后一行只有一个字符需要获取,而中间行,每行都有两个字符需要获取,采取一个递增一个递减的方式即可实现一个周期内的字符顺序,当获取第一个周期的第一行后再获取后续每个周期的第一行,后续的几行也按此规律。
2024-11-04 22:10:25
424
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅
1