<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[RPG_Zero的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/RPG_Zero</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; RPG_Zero]]></copyright><item><title><![CDATA[Paper writting accumulation]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/126746462</link><guid>https://blog.csdn.net/RPG_Zero/article/details/126746462</guid><author>RPG_Zero</author><pubDate>Wed, 07 Sep 2022 15:13:50 +0800</pubDate><description><![CDATA[paper writting: 好词好句、结构思路等]]></description><category></category></item><item><title><![CDATA[C++刷题中 那些奇奇怪怪 可可爱爱的函数]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/123027335</link><guid>https://blog.csdn.net/RPG_Zero/article/details/123027335</guid><author>RPG_Zero</author><pubDate>Sun, 20 Feb 2022 10:00:15 +0800</pubDate><description><![CDATA[文章目录字符串字符串变长substr的使用to_string()函数数组数组前后补零数组初始化
字符串
字符串变长
适用于原地修改字符串的情形，多结合双指针从后往前进行移动和修改，进而降低空间复杂度
s.resize(s.size()+extrasize);

可参考题目：
剑指offer 05. 替换空格
举一反三：
填充类题目，都可以考虑原地扩充大小然后双指针从后往前操作。
substr的使用
s.substr(startidx, length);

to_string()函数
将数字转换为字符串
in]]></description><category></category></item><item><title><![CDATA[LeetCode 单调栈 阶段性小结 个人向专题通关计划]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/122722552</link><guid>https://blog.csdn.net/RPG_Zero/article/details/122722552</guid><author>RPG_Zero</author><pubDate>Thu, 27 Jan 2022 20:49:10 +0800</pubDate><description><![CDATA[单调栈单调栈的应用场景单调栈的含义从一道典型题出发 LeetCode 739 每日温度LeetCode 496 下一个更大元素 ILeetCode 503 下一个更大元素 II进阶 向hard难度冲击LeetCode 42 接雨水LeetCode 84 柱状图中最大的矩形
单调栈的题目需要注意的有：单调栈中元素的大小顺序、新来一个元素时，需要考虑其与栈头元素相对大小的三种情况、较为复杂的题目中，通常要考虑三个元素：栈头元素、栈中的第二个元素(左边第一个较小/较大的位置或值)、新来元素(右边第一个较小/较大的]]></description><category></category></item><item><title><![CDATA[LeetCode 二叉树遍历 递归 & 迭代 栈+空指针]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/122623785</link><guid>https://blog.csdn.net/RPG_Zero/article/details/122623785</guid><author>RPG_Zero</author><pubDate>Fri, 21 Jan 2022 16:34:13 +0800</pubDate><description><![CDATA[@[TOC]二叉树遍历
二叉树的递归遍历
二叉树的前中后遍历其实就是中间节点的遍历顺序。
递归三要素：

确定递归函数的参数与返回值

//无需返回值
//需要知道当前节点，以及一个用于保存遍历结果的vector数组
void traversal(TreeNode* cur, vector&lt;int&gt;&amp; vec)


确定终止条件

if (cur == NULL) return;


确定单层递归的处理逻辑

//以前序遍历为例
vec.push_back(cur-&gt;val);  ]]></description><category></category></item><item><title><![CDATA[LeetCode 102 二叉树的层次遍历 层次遍历模板题目 队列bfs & 递归dfs]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/122583458</link><guid>https://blog.csdn.net/RPG_Zero/article/details/122583458</guid><author>RPG_Zero</author><pubDate>Wed, 19 Jan 2022 16:16:15 +0800</pubDate><description><![CDATA[题目链接

解法一：
BFS模板题，借助于队列
AC代码：
class Solution {
public:
    vector&lt;vector&lt;int&gt;&gt; levelOrder(TreeNode* root) {
        // bfs
        queue&lt;TreeNode*&gt; que;
        vector&lt;vector&lt;int&gt;&gt; res;
        if(root!=nullptr) que.push(root)]]></description><category></category></item><item><title><![CDATA[LeetCode 回溯法 阶段性小结 个人向专题通关计划]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/122149287</link><guid>https://blog.csdn.net/RPG_Zero/article/details/122149287</guid><author>RPG_Zero</author><pubDate>Sat, 25 Dec 2021 23:34:25 +0800</pubDate><description><![CDATA[回溯回溯法应用场景回溯法代码模板回溯：组合问题LeetCode77 组合LeetCode40 组合总和 II回溯：切割问题LeetCode131 分割回文串LeetCode93 复原IP地址
回溯法应用场景
回溯法又叫回溯搜索法，是一种搜索的方式，类似于深度搜索。回溯搜索的本质是穷举搜索，所以并不是一种高效的算法，可以考虑一些剪枝优化策略。
回溯法可以解决的问题种类一般包括以下几种：

组合问题：N个数里面按照某种要求找出满足条件的k个数的集合
切割问题：一个字符串按照某种要求可以有多少种切割方式
子集问题]]></description><category></category></item><item><title><![CDATA[LeetCode 快慢指针 双指针法阶段性总结 个人向]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121734540</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121734540</guid><author>RPG_Zero</author><pubDate>Sun, 05 Dec 2021 23:57:23 +0800</pubDate><description><![CDATA[双指针法 思维方式链表 双指针法 快慢指针真题 LeetCode141 环形链表真题 LeetCode142 环形链表II.   环有了，那入口节点呢？推荐阅读数组LeetCode 15 三数之和LeetCode 16 最接近的三数之和LeetCode 18 四数之和小总结
双指针法通常被用于简化多层循环遍历的场景，降低时间复杂度(通常降低一个次幂)。
双指针并不是固定的公式，而是一种思维的方式~
链表 双指针法 快慢指针
真题 LeetCode141 环形链表
题目链接

解题思路：
快指针每次移动两步，]]></description><category></category></item><item><title><![CDATA[LeetCode 349 两个数组的交集 哈希法 unordered_set 查找or删除]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121689946</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121689946</guid><author>RPG_Zero</author><pubDate>Fri, 03 Dec 2021 00:48:04 +0800</pubDate><description><![CDATA[题目链接

class Solution {
public:
    vector&lt;int&gt; intersection(vector&lt;int&gt;&amp; nums1, vector&lt;int&gt;&amp; nums2) {
        //哈希法
        //未限定数组的大小 则不考虑哈希数组
        //无需统计某个值出现的次数，因此用不到map
        //unordered_set即可满足题目要求
        unordered_set&]]></description><category></category></item><item><title><![CDATA[LeetCode 242 有效的字母异位词 哈希表初探 数组 or unordered_map]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121689360</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121689360</guid><author>RPG_Zero</author><pubDate>Fri, 03 Dec 2021 00:08:21 +0800</pubDate><description><![CDATA[题目链接

场景：判断某个元素是否出现过
思路：考虑使用哈希表
解法一：哈希数组. 由题意可知字符均为小写英文字母，数量有限，可以使用哈希数组。
class Solution {
public:
    bool isAnagram(string s, string t) {
        if(s.length() != t.length()) return false;
        int cnt[26] = {0};
        for(int i = 0; i &lt; s.length(]]></description><category></category></item><item><title><![CDATA[LeetCode 977 有序数组的平方 双指针法]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121688625</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121688625</guid><author>RPG_Zero</author><pubDate>Thu, 02 Dec 2021 23:02:18 +0800</pubDate><description><![CDATA[题目链接

要求o(n)复杂度，考虑使用双指针法避免多次遍历
AC代码：
class Solution {
public:
    vector&lt;int&gt; sortedSquares(vector&lt;int&gt;&amp; nums) {
        //双指针法
        int left = 0, right = nums.size() - 1;
        int idx = right;
        vector&lt;int&gt; res(nums.size(]]></description><category></category></item><item><title><![CDATA[LeetCode 35 搜索插入位置 二分查找深入理解~]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121682044</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121682044</guid><author>RPG_Zero</author><pubDate>Thu, 02 Dec 2021 17:29:53 +0800</pubDate><description><![CDATA[LeetCode35 二分查找]]></description><category></category></item><item><title><![CDATA[LeetCode 34 在排序数组中查找元素的第一个位置和最后一个位置 二分查找经典变种 值得一看]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121680861</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121680861</guid><author>RPG_Zero</author><pubDate>Thu, 02 Dec 2021 16:52:13 +0800</pubDate><description><![CDATA[题目链接

思路：

一个自然的想法是先二分查找然后分别往左右遍历，找到所求的位置。但这样的话，最优复杂度达不到进阶题目要求的情况。或许可以在面试的时候先这么说，引导面试官让你优化，然后惊艳面试官，哈哈哈~
使用两次二分查找，分别查找满足要求的左右坐标值，具体的思路在代码注释中了。

网上一个优秀题解的情况分析：

AC代码：
class Solution {
public:
    int searchleft(vector&lt;int&gt; &amp;nums, int target){
     ]]></description><category></category></item><item><title><![CDATA[LeetCode 704 二分查找模板题]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121666054</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121666054</guid><author>RPG_Zero</author><pubDate>Wed, 01 Dec 2021 22:06:16 +0800</pubDate><description><![CDATA[LeetCode 二分查找]]></description><category></category></item><item><title><![CDATA[LeetCode 链表阶段性总结 个人向 专题通关计划]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121570562</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121570562</guid><author>RPG_Zero</author><pubDate>Sat, 27 Nov 2021 01:24:35 +0800</pubDate><description><![CDATA[文章目录虚拟头结点 哨兵结点双指针法 快慢指针真题：leetcode 剑指offer22 链表倒数第k个节点 双指针法 代码鲁棒性真题：删除链表的倒数第N个结点 双指针法 链表 虚拟头结点练习题目四结点法专题：链表反转真题：LeetCode 206. 反转链表 辅助结点真题：LeetCode 92. 反转链表II真题：LeetCode 24. 两两交换链表中的节点真题：LeetCode 25 K个一组翻转链表 分组+链表反转 虚拟头、尾结点综合题目：LeetCode143. 重排链表
因为是篇个人向的文章，]]></description><category></category></item><item><title><![CDATA[Python 将按照标签归属的图像合并在一起 并生成相应的索引文件]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121388732</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121388732</guid><author>RPG_Zero</author><pubDate>Wed, 17 Nov 2021 21:53:48 +0800</pubDate><description><![CDATA[需求：
现在的数据集形式：

举例：train文件夹下的形式

也即现在图像数据已经按照标签划分到了相应的文件夹下，然后想把所有的图像数据统一放到’./images’文件夹下，同时生成相应的索引文件，方便后续适配自己继承实现的torch.utils.data.Dataset类。
代码：
import os
import shutil
import re
import numpy as np
import pandas as pd

train_source = './train'
val_source = ]]></description><category></category></item><item><title><![CDATA[LeetCode 25 K个一组翻转链表 hard 分组+链表反转 虚拟头、尾结点]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121376233</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121376233</guid><author>RPG_Zero</author><pubDate>Wed, 17 Nov 2021 14:05:51 +0800</pubDate><description><![CDATA[题目链接

给你一个链表，每 k 个节点一组进行翻转，请你返回翻转后的链表。
k 是一个正整数，它的值小于或等于链表的长度。
如果节点总数不是 k 的整数倍，那么请将最后剩余的节点保持原有顺序。
进阶：
你可以设计一个只使用常数额外空间的算法来解决此问题吗？
你不能只是单纯的改变节点内部的值，而是需要实际进行节点交换。

提示：
列表中节点的数量在范围 sz 内
1 &lt;= sz &lt;= 5000
0 &lt;= Node.val &lt;= 1000
1 &lt;= k &lt;= sz

解题思]]></description><category></category></item><item><title><![CDATA[LeetCode 206. 反转链表 双指针法 辅助结点 递归]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121366855</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121366855</guid><author>RPG_Zero</author><pubDate>Tue, 16 Nov 2021 22:28:17 +0800</pubDate><description><![CDATA[题目链接

给你单链表的头节点 head ，请你反转链表，并返回反转后的链表。

提示：
链表中节点的数目范围是 [0, 5000]
-5000 &lt;= Node.val &lt;= 5000
进阶：链表可以选用迭代或递归方式完成反转。你能否用两种方法解决这道题？

双指针法+辅助结点：
AC代码
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *]]></description><category></category></item><item><title><![CDATA[LeetCode 19 删除链表的倒数第N个结点 双指针法 链表 虚拟头结点]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121354493</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121354493</guid><author>RPG_Zero</author><pubDate>Tue, 16 Nov 2021 14:00:30 +0800</pubDate><description><![CDATA[题目链接

给你一个链表，删除链表的倒数第 n 个结点，并且返回链表的头结点。
&gt;
示例 2：
输入：head = [1], n = 1
输出：[]
示例 3：
输入：head = [1,2], n = 1
输出：[1]
提示：
链表中结点的数目为 sz
1 &lt;= sz &lt;= 30
0 &lt;= Node.val &lt;= 100
1 &lt;= n &lt;= sz
进阶：你能尝试使用一趟扫描实现吗？

双指针法，一遍扫描
AC代码：
/**
 * Definition for si]]></description><category></category></item><item><title><![CDATA[leetcode 剑指offer22 链表倒数第k个节点 双指针法 代码鲁棒性]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/121343156</link><guid>https://blog.csdn.net/RPG_Zero/article/details/121343156</guid><author>RPG_Zero</author><pubDate>Mon, 15 Nov 2021 21:09:34 +0800</pubDate><description><![CDATA[题目链接

剑指 Offer 22. 链表中倒数第k个节点
输入一个链表，输出该链表中倒数第k个节点。为了符合大多数人的习惯，本题从1开始计数，即链表的尾节点是倒数第1个节点。
例如，一个链表有 6 个节点，从头节点开始，它们的值依次是 1、2、3、4、5、6。这个链表的倒数第 3 个节点是值为 4 的节点。
示例：
给定一个链表: 1-&gt;2-&gt;3-&gt;4-&gt;5, 和 k = 2.
返回链表 4-&gt;5.

一道easy的题目，最简单的方法就是先遍历得到链表的长度，然后将指针移动到]]></description><category></category></item><item><title><![CDATA[Pycharm连接远程服务器 用服务器显卡进行debug]]></title><link>https://blog.csdn.net/RPG_Zero/article/details/120069955</link><guid>https://blog.csdn.net/RPG_Zero/article/details/120069955</guid><author>RPG_Zero</author><pubDate>Thu, 02 Sep 2021 21:21:34 +0800</pubDate><description><![CDATA[这里可以手动设置文件修改自动上传


]]></description><category></category></item></channel></rss>