<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[weixin_36670529的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/weixin_36670529</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; weixin_36670529]]></copyright><item><title><![CDATA[C++ for 循环]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/137758183</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/137758183</guid><author>weixin_36670529</author><pubDate>Sun, 14 Apr 2024 23:33:50 +0800</pubDate><description><![CDATA[循环允许您编写一个执行特定次数的循环的重复控制结构。]]></description><category></category></item><item><title><![CDATA[Color exploitation in HOG-based traffic sign detection]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/137658490</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/137658490</guid><author>weixin_36670529</author><pubDate>Fri, 12 Apr 2024 00:49:46 +0800</pubDate><description><![CDATA[摘要

我们在一个具有挑战性的大规模真实全景图像数据集上研究交通标志检测。核心处理是基于HOG (Histogram of Oriented Gradients)算法，该算法通过在特征向量中加入颜色信息进行扩展。颜色空间的选择对性能有很大的影响，其中我们发现CIELab和YCbCr颜色空间给出了最好的结果。颜色的使用显著提高了检测性能。我们比较了特定算法和HOG算法的性能，并表明HOG在大多数情况下比特定算法的性能高出数十个百分点。此外，我们提出了一种新的迭代支持向量机训练范式来处理背景外观的大变化。这减少]]></description><category></category></item><item><title><![CDATA[C++的STL（二）]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/136856407</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/136856407</guid><author>weixin_36670529</author><pubDate>Tue, 19 Mar 2024 21:38:37 +0800</pubDate><description><![CDATA[1.构造函数vector():创建一个空vectorvector(int nSize):创建一个vector,元素个数为nSizevector(int nSize,const t& t):创建一个vector，元素个数为nSize,且值均为tvector(const vector&):复制构造函数vector(begin,end):复制[begin,end)区间内另一个数组的元素到vector中2.增加函数void push_back(const T& x):向量尾部增加一个元素X。]]></description><category></category></item><item><title><![CDATA[C++的STL（一）]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/136856265</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/136856265</guid><author>weixin_36670529</author><pubDate>Tue, 19 Mar 2024 21:36:39 +0800</pubDate><description><![CDATA[STL（Standard Template Library），即标准模板库，是一个具有工业强度的，高效的C++程序库。它被容纳于C++标准程序库（C++ Standard Library）中，是ANSI/ISO C++标准中最新的也是极具革命性的一部分。该库包含了诸多在计算机科学领域里所常用的基本数据结构和基本算法。为广大C++程序员们提供了一个可扩展的应用框架，高度体现了软件的可复用性。STL的一个重要特点是数据结构和算法的分离。尽管这是个简单的概念，但这种分离确实使得STL变得非常通用。]]></description><category></category></item><item><title><![CDATA[合并 K 个升序链表]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/136124330</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/136124330</guid><author>weixin_36670529</author><pubDate>Thu, 15 Feb 2024 22:50:12 +0800</pubDate><description><![CDATA[请你将所有链表合并到一个升序链表中，返回合并后的链表。给你一个链表数组，每个链表都已经按升序排列。将它们合并到一个有序链表中得到。]]></description><category></category></item><item><title><![CDATA[实现 Trie (前缀树)]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135995915</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135995915</guid><author>weixin_36670529</author><pubDate>Fri, 02 Feb 2024 16:10:08 +0800</pubDate><description><![CDATA[初始化为 O(1)，其余操作为O(|S|)，其中|S|是每次插入或查询的字符串的长度。重复以上步骤，直到处理字符串的最后一个字符，然后将当前节点标记为字符串的结尾。若搜索到了前缀的末尾，就说明字典树中存在该前缀。数组的对应位置上，然后沿着指针移动到子节点，继续搜索下一个字符。对于本题而言，数组长度为 26，即小写英文字母的数量。重复以上步骤，直到返回空指针或搜索完前缀的最后一个字符。沿着指针移动到子节点，继续处理下一个字符。沿着指针移动到子节点，继续搜索下一个字符。，其中|T|为所有插入字符串的长度之和，]]></description><category></category></item><item><title><![CDATA[二叉树的锯齿形层序遍历]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135881916</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135881916</guid><author>weixin_36670529</author><pubDate>Sat, 27 Jan 2024 13:38:59 +0800</pubDate><description><![CDATA[空间复杂度：O(N)。我们需要维护存储节点的队列和存储节点值的双端队列，空间复杂度为 O(N)。（即先从左往右，再从右往左进行下一层遍历，以此类推，层与层之间交替进行）。时间复杂度：O(N)，其中N为二叉树的节点数。每个节点会且仅会被遍历一次。]]></description><category></category></item><item><title><![CDATA[二叉树的层序遍历]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135881238</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135881238</guid><author>weixin_36670529</author><pubDate>Sat, 27 Jan 2024 13:26:35 +0800</pubDate><description><![CDATA[（即逐层地，从左到右访问所有节点）。]]></description><category></category></item><item><title><![CDATA[跳跃游戏 II]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135382081</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135382081</guid><author>weixin_36670529</author><pubDate>Thu, 04 Jan 2024 11:16:44 +0800</pubDate><description><![CDATA[在遍历数组时，我们不访问最后一个元素，这是因为在访问最后一个元素之前，我们的边界一定大于等于最后一个位置，否则就无法跳到最后一个位置了。如果访问最后一个元素，在边界正好为最后一个位置的情况下，我们会增加一次「不必要的跳跃次数」，因此我们不必访问最后一个元素。在具体的实现中，我们维护当前能够到达的最大下标位置，记为边界。我们从左到右遍历数组，到达边界时，更新边界并将跳跃次数增加 1。跳到最后一个位置的最小跳跃数是2。从下标为 0 跳到下标为 1 的位置，跳1步，然后跳3步到达数组的最后一个位置。]]></description><category></category></item><item><title><![CDATA[买卖股票的最佳时机 IV]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135212888</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135212888</guid><author>weixin_36670529</author><pubDate>Tue, 26 Dec 2023 09:09:09 +0800</pubDate><description><![CDATA[由于在所有的 nnn 天结束后，手上不持有股票对应的最大利润一定是严格由于手上持有股票对应的最大利润的，然而完成的交易数并不是越多越好（例如数组。这种在同一天之内进行一笔交易的情况，收益为零，它并不会带来额外的收益，因此对最终的答案并不会产生影响，状态转移方程在本质上仍然是正确的。与其余的股票问题类似，我们使用一系列变量存储「买入」的状态，再用一系列变量存储「卖出」的状态，通过动态规划的方法即可解决本题。中的价格而言，进行恰好j笔交易，并且当前手上持有一支股票，这种情况下的最大利润；我们可以考虑将所有的。]]></description><category></category></item><item><title><![CDATA[买卖股票的最佳时机]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135195893</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135195893</guid><author>weixin_36670529</author><pubDate>Mon, 25 Dec 2023 11:55:20 +0800</pubDate><description><![CDATA[随后，在第 7 天（股票价格 = 1）的时候买入，在第 8 天 （股票价格 = 4）的时候卖出，这笔交易所能获得利润 = 4-1 = 3。在第 1 天（股票价格 = 1）的时候买入，在第 5 天 （股票价格 = 5）的时候卖出, 这笔交易所能获得利润 = 5-1 = 4。在第 4 天（股票价格 = 0）的时候买入，在第 6 天（股票价格 = 3）的时候卖出，这笔交易所能获得利润 = 3-0 = 3。时，考虑的是在第i天卖出股票的情况，这样在同一天买入并且卖出收益为零，不会对答案产生影响。]]></description><category></category></item><item><title><![CDATA[零钱兑换、、]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135178477</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135178477</guid><author>weixin_36670529</author><pubDate>Sun, 24 Dec 2023 09:31:57 +0800</pubDate><description><![CDATA[时间复杂度：O(Sn)，其中S是金额，n是面额数。我们一共需要计算O(S)个状态，S为题目所给的总金额。对于每个状态，每次需要枚举n个面额来转移状态，所以一共需要O(Sn)的时间复杂度。则，当 i==0时无法用硬币组成，为 0。代表的是第 jjj 枚硬币的面值，即我们枚举最后一枚硬币面额是。则 F(i)F(i)F(i) 对应的转移方程应为。我们可以看到问题的答案是通过子问题的最优解得到的。为前面能转移过来的状态的最小值加上枚举的硬币数量。你可以认为每种硬币的数量是无限的。所需最少的硬币数量，假设在计算。]]></description><category></category></item><item><title><![CDATA[单词拆分\\]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135150773</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135150773</guid><author>weixin_36670529</author><pubDate>Fri, 22 Dec 2023 13:28:10 +0800</pubDate><description><![CDATA[返回 true 因为 "applepenapple"可以由"apple" "pen" "apple" 拼接成。对于检查一个字符串是否出现在给定的字符串列表里一般可以考虑哈希表来快速判断，同时也可以做一些简单的剪枝，枚举分割点的时候倒着枚举，如果分割点。的长度已经大于字典列表里最长的单词的长度，那么就结束枚举，但是需要注意的是下面的代码给出的是不带剪枝的写法。的最后一个单词，看它是否出现在字典中以及除去这部分的字符串是否合法即可。不要求字典中出现的单词全部都使用，并且字典中的单词可以重复使用。]]></description><category></category></item><item><title><![CDATA[打家劫舍\\\]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135127740</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135127740</guid><author>weixin_36670529</author><pubDate>Thu, 21 Dec 2023 12:24:42 +0800</pubDate><description><![CDATA[如果只有两间房屋，则由于两间房屋相邻，不能同时偷窃，只能偷窃其中的一间房屋，因此选择其中金额较高的房屋进行偷窃，可以偷窃到最高总金额。考虑到每间房屋的最高总金额只和该房屋的前两间房屋的最高总金额相关，因此可以使用滚动数组，在每个时刻只需要存储前两间房屋的最高总金额。偷窃 1 号房屋 (金额 = 2), 偷窃 3 号房屋 (金额 = 9)，接着偷窃 5 号房屋 (金额 = 1)。偷窃第k间房屋，那么就不能偷窃第k−1间房屋，偷窃总金额为前k−2 间房屋的最高总金额与第。，一夜之内能够偷窃到的最高金额。]]></description><category></category></item><item><title><![CDATA[回文数、、]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135105312</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135105312</guid><author>weixin_36670529</author><pubDate>Wed, 20 Dec 2023 12:59:26 +0800</pubDate><description><![CDATA[对于数字 1221，如果执行 1221 % 10，我们将得到最后一位数字 1，要得到倒数第二位数字，我们可以先通过除以 10 把最后一位数字从 1221 中移除，1221 / 10 = 122，再求出上一步结果除以 10 的余数，122 % 10 = 2，就可以得到倒数第二位数字。由于整个过程我们不断将原始数字除以 10，然后给反转后的数字乘上 10，所以，当原始数字小于或等于反转后的数字时，就意味着我们已经处理了一半位数的数字了。毕竟，如果该数字是回文，其后半部分反转后应该与原始数字的前半部分相同。]]></description><category></category></item><item><title><![CDATA[Pow(x, n)]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135105155</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135105155</guid><author>weixin_36670529</author><pubDate>Wed, 20 Dec 2023 12:44:30 +0800</pubDate><description><![CDATA[直接从左到右进行推导看上去很困难，因为在每一步中，我们不知道在将上一次的结果平方之后，还需不需要额外乘。举个例子，如果我们要计算。这些步骤中，我们把上一次的结果进行平方后，还要额外乘一个。这是由于递归的函数调用会使用栈空间。由于每次递归都会使得指数减少一半，因此递归的层数为。这些步骤中，我们直接把上一次的结果进行平方，而在。开始，每次直接把上一次的结果进行平方，计算。，算法可以在很快的时间内得到结果。再举一个例子，如果我们要计算。时，我们可以先递归地计算出。根据递归计算的结果，如果。]]></description><category></category></item><item><title><![CDATA[直线上最多的点数]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135081954</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135081954</guid><author>weixin_36670529</author><pubDate>Tue, 19 Dec 2023 12:58:14 +0800</pubDate><description><![CDATA[假设我们当前枚举到点 iii，如果直线同时经过另外两个不同的点 jjj 和 kkk，那么可以发现点 iii 和点 jjj 所连直线的斜率恰等于点 iii 和点 kkk 所连直线的斜率。于是我们可以统计其他所有点与点 iii 所连直线的斜率，出现次数最多的斜率即为经过点数最多的直线的斜率，其经过的点数为该斜率出现的次数加一（点 iii 自身也要被统计）。的情况下，我们总可以用一条直线将所有点串联，此时我们直接返回点的总数量即可；我们可以考虑枚举所有的点，假设直线经过该点时，该直线所能经过的最多的点数。]]></description><category></category></item><item><title><![CDATA[只出现一次的数字]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135060228</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135060228</guid><author>weixin_36670529</author><pubDate>Mon, 18 Dec 2023 13:17:04 +0800</pubDate><description><![CDATA[使用集合存储数组中出现的所有数字，并计算数组中的元素之和。由于集合保证元素无重复，因此计算集合中的所有元素之和的两倍，即为每个元素出现两次的情况下的元素之和。由于数组中只有一个元素出现一次，其余元素都出现两次，因此用集合中的元素之和的两倍减去数组中的元素之和，剩下的数就是数组中只出现一次的数字。遍历数组中的每个数字，如果集合中没有该数字，则将该数字加入集合，如果集合中已经有该数字，则将该数字从集合中删除，最后剩下的数字就是只出现一次的数字。因此，数组中的全部元素的异或运算结果即为数组中只出现一次的数字。]]></description><category></category></item><item><title><![CDATA[只出现一次的数字 II]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135060164</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135060164</guid><author>weixin_36670529</author><pubDate>Mon, 18 Dec 2023 13:05:26 +0800</pubDate><description><![CDATA[我们可以使用哈希映射统计数组中每个元素的出现次数。对于哈希映射中的每个键值对，键表示一个元素，值表示其出现的次数。你必须设计并实现线性时间复杂度的算法且使用常数级空间来解决此问题。在统计完成后，我们遍历哈希映射即可找出只出现一次的元素。请你找出并返回那个只出现了一次的元素。外，其余每个元素都恰出现。个元素，即需要的空间为。]]></description><category></category></item><item><title><![CDATA[二进制求和]]></title><link>https://blog.youkuaiyun.com/weixin_36670529/article/details/135043686</link><guid>https://blog.youkuaiyun.com/weixin_36670529/article/details/135043686</guid><author>weixin_36670529</author><pubDate>Sun, 17 Dec 2023 13:21:00 +0800</pubDate><description><![CDATA[直到和长的那个一样长，然后从高位向低位遍历，对应位置的答案按照顺序存入答案字符串内，最终将答案串反转。这里的代码给出第一种的实现。注意，为了让各个位置对齐，你可以先反转这个代表二进制数字的字符串，然后低下标对应低位，高下标对应高位。我们可以借鉴「列竖式」的方法，末尾对齐，逐位相加。在十进制的计算中「逢十进一」，二进制中我们需要「逢二进一」。因此，为了适用于长度较大的字符串计算，我们应该使用更加健壮的算法。，除去答案所占用的空间，这里使用了常数个临时变量。，以二进制字符串的形式返回它们的和。]]></description><category></category></item></channel></rss>