<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Fatebinder的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Fatebinder</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Fatebinder]]></copyright><item><title><![CDATA[vector.erase()分析]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/121066480</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/121066480</guid><author>Fatebinder</author><pubDate>Sun, 31 Oct 2021 16:57:52 +0800</pubDate><description><![CDATA[vector::erase(iterator)
以前盲目的认为erase()执行后会返回iterator指向下一个元素(位置)的迭代器,也就是iterator发生了++
后来发现删除元素抄来的方法中it = nums.erase(it)改为nums.erase(it)并没有区别
class Solution {
public:
    int removeElement(vector&lt;int&gt;&amp; nums, int val) {
        for(auto it = nums.be]]></description><category></category></item><item><title><![CDATA[剑指 Offer 42. 连续子数组的最大和]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/114919073</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/114919073</guid><author>Fatebinder</author><pubDate>Wed, 17 Mar 2021 10:48:09 +0800</pubDate><description><![CDATA[输入一个整型数组，数组中的一个或连续多个整数组成一个子数组。求所有子数组的和的最大值。
要求时间复杂度为O(n)。
示例1:
输入: nums = [-2,1,-3,4,-1,2,1,-5,4]
输出: 6
解释: 连续子数组 [4,-1,2,1] 的和最大，为 6。

1.即时处理
class Solution {
public:
    int maxSubArray(vector&lt;int&gt;&amp; nums) {//读入序列,并不断更新最值,如果子序列小于0了,那么对于后面的序列没有增量]]></description><category></category></item><item><title><![CDATA[剑指 Offer 47. 礼物的最大价值]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/114884264</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/114884264</guid><author>Fatebinder</author><pubDate>Tue, 16 Mar 2021 15:40:43 +0800</pubDate><description><![CDATA[在一个 m*n 的棋盘的每一格都放有一个礼物，每个礼物都有一定的价值（价值大于 0）。你可以从棋盘的左上角开始拿格子里的礼物，并每次向右或者向下移动一格、直到到达棋盘的右下角。给定一个棋盘及其上面的礼物的价值，请计算你最多能拿到多少价值的礼物？
示例 1:
输入: 
[
  [1,3,1],
  [1,5,1],
  [4,2,1]
]
输出: 12
解释: 路径 1→3→5→2→1 可以拿到最多价值的礼物

提示：

0 &lt; grid.length &lt;= 200
0 &lt; grid[0].]]></description><category></category></item><item><title><![CDATA[剑指 Offer 18. 删除链表的节点]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/113349581</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/113349581</guid><author>Fatebinder</author><pubDate>Thu, 28 Jan 2021 16:48:40 +0800</pubDate><description><![CDATA[给定单向链表的头指针和一个要删除的节点的值，定义一个函数删除该节点。
返回删除后的链表的头节点。
**注意：**此题对比原题有改动
示例 1:
输入: head = [4,5,1,9], val = 5
输出: [4,1,9]
解释: 给定你链表中值为&nbsp;5&nbsp;的第二个节点，那么在调用了你的函数之后，该链表应变为 4 -&gt; 1 -&gt; 9.

示例 2:
输入: head = [4,5,1,9], val = 1
输出: [4,5,9]
解释: 给定你链表中值为&nbsp;1&nb]]></description><category></category></item><item><title><![CDATA[剑指 Offer 54. 二叉搜索树的第k大节点]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112306590</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112306590</guid><author>Fatebinder</author><pubDate>Thu, 07 Jan 2021 12:00:39 +0800</pubDate><description><![CDATA[示例 1:
输入: root = [3,1,4,null,2], k = 1
   3
  / \
 1   4
  \
   2
输出: 4

示例 2:
输入: root = [5,3,6,2,4,null,null,1], k = 3
       5
      / \
     3   6
    / \
   2   4
  /
 1
输出: 4

限制：
1 ≤ k ≤ 二叉搜索树元素个数
1.利用二叉搜索树右子树大于根节点,左子树小于根节点,所以中序遍历的结果递增有序的特性
①递归式写法
/]]></description><category></category></item><item><title><![CDATA[剑指 Offer 15. 二进制中1的个数]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112276602</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112276602</guid><author>Fatebinder</author><pubDate>Wed, 06 Jan 2021 15:32:43 +0800</pubDate><description><![CDATA[请实现一个函数，输入一个整数（以二进制串形式），输出该数二进制表示中 1 的个数。例如，把 9&nbsp;表示成二进制是 1001，有 2 位是 1。因此，如果输入 9，则该函数输出 2。
示例 1：
输入：00000000000000000000000000001011
输出：3
解释：输入的二进制串 00000000000000000000000000001011&nbsp;中，共有三位为 '1'。


示例 2：
输入：00000000000000000000000010000000
输出：1
解释：]]></description><category></category></item><item><title><![CDATA[剑指 Offer 09. 用两个栈实现队列]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112276533</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112276533</guid><author>Fatebinder</author><pubDate>Wed, 06 Jan 2021 15:31:53 +0800</pubDate><description><![CDATA[用两个栈实现一个队列。队列的声明如下，请实现它的两个函数 appendTail 和 deleteHead ，分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素，deleteHead&nbsp;操作返回 -1 )
示例 1：
输入：
["CQueue","appendTail","deleteHead","deleteHead"]
[[],[3],[],[]]
输出：[null,null,3,-1]

示例 2：
输入：
["CQueue","deleteHead","appendTai]]></description><category></category></item><item><title><![CDATA[剑指 Offer 25. 合并两个排序的链表]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112232250</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112232250</guid><author>Fatebinder</author><pubDate>Tue, 05 Jan 2021 14:19:41 +0800</pubDate><description><![CDATA[输入两个递增排序的链表，合并这两个链表并使新链表中的节点仍然是递增排序的。
示例1：
输入：1-&gt;2-&gt;4, 1-&gt;3-&gt;4
输出：1-&gt;1-&gt;2-&gt;3-&gt;4-&gt;4

限制：
0 &lt;= 链表长度 &lt;= 1000
1.分别遍历两个链表,把指向小的在继续遍历
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode ]]></description><category></category></item><item><title><![CDATA[剑指 Offer 10- I. 斐波那契数列]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112221585</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112221585</guid><author>Fatebinder</author><pubDate>Tue, 05 Jan 2021 11:39:00 +0800</pubDate><description><![CDATA[写一个函数，输入 n ，求斐波那契（Fibonacci）数列的第 n 项。斐波那契数列的定义如下：
F(0) = 0,   F(1) = 1
F(N) = F(N - 1) + F(N - 2), 其中 N &gt; 1.

斐波那契数列由 0 和 1 开始，之后的斐波那契数就是由之前的两数相加而得出。
答案需要取模 1e9+7（1000000007），如计算初始结果为：1000000008，请返回 1。
示例 1：
输入：n = 2
输出：1

示例 2：
输入：n = 5
输出：5

提示：

0 &l]]></description><category></category></item><item><title><![CDATA[ansys 19.0问题]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112187124</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112187124</guid><author>Fatebinder</author><pubDate>Mon, 04 Jan 2021 16:59:25 +0800</pubDate><description><![CDATA[如果你获得的下载包是符合https://www.cnblogs.com/ytcnb/p/9634436.html文章内的，大体步骤不会出问题呢，但是可能会遇到部分情况.
1.Server ANSLIC_ADMIN Utility 中的点击Launch the ANSYS License Management Center，出现报错要求
盘符:\ANSYS Inc\Shared Files\Licensing\winx64\ansyslmcenter 需要管理员权限，而此时无论是手动管理员权限给ansyslm]]></description><category></category></item><item><title><![CDATA[剑指 Offer 50. 第一个只出现一次的字符]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112174471</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112174471</guid><author>Fatebinder</author><pubDate>Mon, 04 Jan 2021 13:59:24 +0800</pubDate><description><![CDATA[在字符串 s 中找出第一个只出现一次的字符。如果没有，返回一个单空格。 s 只包含小写字母。
示例:
s = "abaccdeff"
返回 "b"

s = "" 
返回 " "

限制：
0 &lt;= s 的长度 &lt;= 50000
1.数组哈希,两次循环法
class Solution {
public:
    char firstUniqChar(string s) {
        int str[26] = {0}, first[26] = {0};
        for(int i ]]></description><category></category></item><item><title><![CDATA[剑指 Offer 21. 调整数组顺序使奇数位于偶数前面]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112174351</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112174351</guid><author>Fatebinder</author><pubDate>Mon, 04 Jan 2021 13:57:54 +0800</pubDate><description><![CDATA[输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有奇数位于数组的前半部分，所有偶数位于数组的后半部分。
示例：
输入：nums = [1,2,3,4]
输出：[1,3,2,4] 
注：[3,1,2,4] 也是正确的答案之一。

提示：

1 &lt;= nums.length &lt;= 50000
1 &lt;= nums[i] &lt;= 10000

1.列两个vector再合并
class Solution {
public:
    vector&lt;int&gt; exchang]]></description><category></category></item><item><title><![CDATA[剑指 Offer 21. 调整数组顺序使奇数位于偶数前面]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112170947</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112170947</guid><author>Fatebinder</author><pubDate>Mon, 04 Jan 2021 11:15:16 +0800</pubDate><description><![CDATA[输入一个整数数组，实现一个函数来调整该数组中数字的顺序，使得所有奇数位于数组的前半部分，所有偶数位于数组的后半部分。
示例：
输入：nums = [1,2,3,4]
输出：[1,3,2,4] 
注：[3,1,2,4] 也是正确的答案之一。

提示：

1 &lt;= nums.length &lt;= 50000
1 &lt;= nums[i] &lt;= 10000

1.列两个vector再合并
class Solution {
public:
    vector&lt;int&gt; exchang]]></description><category></category></item><item><title><![CDATA[86. 分隔链表]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112132480</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112132480</guid><author>Fatebinder</author><pubDate>Sun, 03 Jan 2021 11:06:29 +0800</pubDate><description><![CDATA[给你一个链表和一个特定值 x ，请你对链表进行分隔，使得所有小于 x 的节点都出现在大于或等于 x 的节点之前。
你应当保留两个分区中每个节点的初始相对位置。
示例：
输入：head = 1-&gt;4-&gt;3-&gt;2-&gt;5-&gt;2, x = 3
输出：1-&gt;2-&gt;2-&gt;4-&gt;3-&gt;5

1.双链表法
/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 ]]></description><category></category></item><item><title><![CDATA[剑指 Offer 22. 链表中倒数第k个节点]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112132470</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112132470</guid><author>Fatebinder</author><pubDate>Sun, 03 Jan 2021 11:04:52 +0800</pubDate><description><![CDATA[输入一个链表，输出该链表中倒数第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.

1.两次遍历法
/**
 * Definition for singly-linked list.
 * struct ListNode {
 * ]]></description><category></category></item><item><title><![CDATA[剑指 Offer 57. 和为s的两个数字]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112095757</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112095757</guid><author>Fatebinder</author><pubDate>Sat, 02 Jan 2021 14:16:44 +0800</pubDate><description><![CDATA[输入一个递增排序的数组和一个数字s，在数组中查找两个数，使得它们的和正好是s。如果有多对数字的和等于s，则输出任意一对即可。
示例 1：
输入：nums = [2,7,11,15], target = 9
输出：[2,7] 或者 [7,2]

示例 2：
输入：nums = [10,26,30,31,47,60], target = 40
输出：[10,30] 或者 [30,10]

限制：

1 &lt;= nums.length &lt;= 10^5
1 &lt;= nums[i]&nbsp;&lt;=]]></description><category></category></item><item><title><![CDATA[剑指 Offer 39. 数组中出现次数超过一半的数字]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112094087</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112094087</guid><author>Fatebinder</author><pubDate>Sat, 02 Jan 2021 10:58:09 +0800</pubDate><description><![CDATA[数组中有一个数字出现的次数超过数组长度的一半，请找出这个数字。
你可以假设数组是非空的，并且给定的数组总是存在多数元素。
示例&nbsp;1:
输入: [1, 2, 3, 2, 2, 2, 5, 4, 2]
输出: 2

限制：
1 &lt;= 数组长度 &lt;= 50000
1.map
class Solution {
public:
    int majorityElement(vector&lt;int&gt;&amp; nums) {
        map&lt;int, int&gt; m;]]></description><category></category></item><item><title><![CDATA[剑指 Offer 03. 数组中重复的数字]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112070048</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112070048</guid><author>Fatebinder</author><pubDate>Fri, 01 Jan 2021 21:23:22 +0800</pubDate><description><![CDATA[找出数组中重复的数字。
在一个长度为 n 的数组 nums 里的所有数字都在 0～n-1 的范围内。数组中某些数字是重复的，但不知道有几个数字重复了，也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。
示例 1：
输入：
[2, 3, 1, 0, 2, 5, 3]
输出：2 或 3

限制：
2 &lt;= n &lt;= 100000
来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-]]></description><category></category></item><item><title><![CDATA[剑指 Offer 55 - I. 二叉树的深度]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/112024771</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/112024771</guid><author>Fatebinder</author><pubDate>Thu, 31 Dec 2020 16:23:58 +0800</pubDate><description><![CDATA[输入一棵二叉树的根节点，求该树的深度。从根节点到叶节点依次经过的节点（含根、叶节点）形成树的一条路径，最长路径的长度为树的深度。
例如：
给定二叉树 [3,9,20,null,null,15,7]
    3
   / \
  9  20
    /  \
   15   7

返回它的最大深度 3 。
提示：

节点总数 &lt;= 10000

/**
 * Definition for a binary tree node.
 * struct TreeNode {
 *     int val;
 ]]></description><category></category></item><item><title><![CDATA[剑指 Offer 56 - II. 数组中数字出现的次数 II]]></title><link>https://blog.youkuaiyun.com/Fatebinder/article/details/111997309</link><guid>https://blog.youkuaiyun.com/Fatebinder/article/details/111997309</guid><author>Fatebinder</author><pubDate>Wed, 30 Dec 2020 19:55:08 +0800</pubDate><description><![CDATA[在一个数组 nums 中除一个数字只出现一次之外，其他数字都出现了三次。请找出那个只出现一次的数字。
示例 1：
输入：nums = [3,4,3,3]
输出：4

示例 2：
输入：nums = [9,1,7,9,7,9,7]
输出：1

限制：
1 &lt;= nums.length &lt;= 10000
1 &lt;= nums[i] &lt; 2^31
来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/shu-zu-zhong-shu-zi-c]]></description><category></category></item></channel></rss>