<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[给你一颗小瓜子的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/sinat_32258909</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; sinat_32258909]]></copyright><item><title><![CDATA[虚拟机centos8磁盘整体扩容]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/125258492</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/125258492</guid><author>sinat_32258909</author><pubDate>Mon, 13 Jun 2022 14:18:55 +0800</pubDate><description><![CDATA[Cent OS 8 不通过载到某个目录的方式，将磁盘整体扩容使用虚拟机给磁盘扩容


	


	 将扩展的容量添加为新的分区依次输入的指令如下



	
	

	
	
	

	检查新添加的sda3分区
	
	

	格式化新加的分区


PS :该命令为格式化xfs格式，格式化为ext4格式命令为 mkfs.ext4vgdisplay & df-h记下卷组以及待挂载点对应的分区名，这里为cl和/dev/mapper/......]]></description><category></category></item><item><title><![CDATA[VI常用操作命令]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/122554167</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/122554167</guid><author>sinat_32258909</author><pubDate>Tue, 18 Jan 2022 10:21:38 +0800</pubDate><description><![CDATA[VI常用命令 增 删 改 查 移动 撤销 行号]]></description><category></category></item><item><title><![CDATA[编写类String的构造函数、析构函数和赋值函数]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/115413260</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/115413260</guid><author>sinat_32258909</author><pubDate>Sat, 03 Apr 2021 10:27:18 +0800</pubDate><description><![CDATA[编写类String的构造函数、析构函数和赋值函数，已知类String的原型为：



class String 
{  
 public:  
 String(const char *str = NULL); // 普通构造函数  
 String(const String &amp;other); // 拷贝构造函数  
 ~ String(void); // 析构函数  
 String &amp; operator =(const String &amp;other); // 赋值函数  
 priv]]></description><category></category></item><item><title><![CDATA[力扣611-有效三角形的个数]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/111241183</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/111241183</guid><author>sinat_32258909</author><pubDate>Tue, 15 Dec 2020 21:40:29 +0800</pubDate><description><![CDATA[给定一个包含非负整数的数组，你的任务是统计其中可以组成三角形三条边的三元组个数。

示例 1:

输入: [2,2,3,4]
输出: 3
解释:
有效的组合是:
2,3,4 (使用第一个 2)
2,3,4 (使用第二个 2)
2,2,3
注意:

数组长度不超过1000。
数组里整数的范围为 [0, 1000]。

来源：力扣（LeetCode）
链接：https://leetcode-cn.com/problems/valid-triangle-number


思路：先从小打到排序，然后只要三个数之..]]></description><category></category></item><item><title><![CDATA[牛客巅峰赛S2钻石&王者场B题-牛牛与字符串2]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/111054688</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/111054688</guid><author>sinat_32258909</author><pubDate>Fri, 11 Dec 2020 22:41:50 +0800</pubDate><description><![CDATA[链接：https://ac.nowcoder.com/acm/contest/9887/B
来源：牛客网


牛牛拿到了一个字符串。他想知道除去字符串本身以外，这个字符串最大的公共前后缀的长度是多少？

例如，对于字符串ABABA而言，“ABA”即是它的前缀，也是它的后缀，且是最长的公共前后缀，因此最大的长度是3。

牛牛无法解决该问题，所以他只好向你求助，给定一个只包含大写字母的字符串s，返回除去字符串本身以外公共前后缀最大长度，如果没有任何一个公共前后缀满足要求，返回-1即可。



1≤∣s∣≤1..]]></description><category></category></item><item><title><![CDATA[牛客巅峰赛S2钻石&王者场A题-牛牛选物]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/111054581</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/111054581</guid><author>sinat_32258909</author><pubDate>Fri, 11 Dec 2020 22:38:09 +0800</pubDate><description><![CDATA[链接：https://ac.nowcoder.com/acm/contest/9887/A
来源：牛客网
牛牛有现在有n个物品，每个物品有一个体积v[i]和重量g[i],他想选择其中总体积恰好为V的若干个物品，想使这若干个物品的总重量最大，他想知道最大总重量为多少。（如果不存在合法方案，返回-1）

对于100%的数据，1≤n≤20,1≤v[i]≤1e8,1≤g[i]≤1e8,1≤V≤1e9

给定三个参数，第一个参数为数组v，第二个参数为数组g，第三个参数为体积V，求最大总重量为多少。

(所给字符串与返]]></description><category></category></item><item><title><![CDATA[快速幂 C++]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/110098574</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/110098574</guid><author>sinat_32258909</author><pubDate>Tue, 24 Nov 2020 22:21:33 +0800</pubDate><description><![CDATA[计算 , 根据b的奇偶，得到以下公式




typedef long long ll;
ll mod = 1e9 + 7;
ll power(ll a, ll b){
   ll res = 1;
     while(b){
        if(b % 2 == 1)
        res = res * a % mod;
        b /= 2;
        a = a * a % mod;
     }
   return res;
}
...]]></description><category></category></item><item><title><![CDATA[C++输出字符型指针地址]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/109203362</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/109203362</guid><author>sinat_32258909</author><pubDate>Wed, 21 Oct 2020 16:02:25 +0800</pubDate><description><![CDATA[C++标准库中I/O类对&lt;&lt;操作符重载，因此在遇到字符型指针时会将其当作字符串名来处理，输出指针所指的字符串。因此，我们用static_cast强制类型转换把字符串指针转换成无类型指针即可输出指针地址


#include&lt;iostream&gt;

using namespace std;

int main() {

    char *p="abc";
    cout &lt;&lt; p &lt;&lt; endl;//"abc"
    cout &lt;&lt; *p &lt]]></description><category></category></item><item><title><![CDATA[牛客NC53-删除链表的倒数第n个节点]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108962995</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108962995</guid><author>sinat_32258909</author><pubDate>Thu, 08 Oct 2020 14:44:02 +0800</pubDate><description><![CDATA[题目描述

给定一个链表，删除链表的倒数第n个节点并返回链表的头指针
例如，


 给出的链表为:1-&gt;2-&gt;3-&gt;4-&gt;5, n= 2.
 删除了链表的倒数第n个节点之后,链表变为1-&gt;2-&gt;3-&gt;5.

备注：

题目保证n一定是有效的
请给出请给出时间复杂度为O(n)的算法

思路

1.哈希存储，key为序号，value为指向该位置的指针


/**
 * struct ListNode {
 *	int val;
 *	struct ListNode *n]]></description><category></category></item><item><title><![CDATA[牛客NC105-二分查找]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108956131</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108956131</guid><author>sinat_32258909</author><pubDate>Wed, 07 Oct 2020 21:48:28 +0800</pubDate><description><![CDATA[题目描述

请实现有重复数字的有序数组的二分查找。

输出在数组中第一个大于等于查找值的位置，如果数组中不存在这样的数，则输出数组长度加一。

示例1

输入



5,4,[1,2,4,4,5]


输出



3


思路：

题目输出的是自然顺序而不是索引顺序；

1.递归

相当于是有重复数字的有序数组二分查找基础上，查找最左边的位置，如果当前元素大于等于目标值v，判断它前一个元素是否也大于等于目标值v，如大于则继续二次查找，否则返回该索引位置+1，递归结束条件为查找到或者右边界严格小于左边界。

]]></description><category></category></item><item><title><![CDATA[牛客NC4-判断链表中是否有环]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108886688</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108886688</guid><author>sinat_32258909</author><pubDate>Wed, 30 Sep 2020 16:26:38 +0800</pubDate><description><![CDATA[题目描述

判断给定的链表中是否有环

扩展：

你能给出空间复杂度O(1)的解法么？



C++

1.空间复杂度O(n)，利用哈希表，存在环即当前节点的next已经在哈希表中出现过


/**
 * Definition for singly-linked list.
 * struct ListNode {
 *     int val;
 *     ListNode *next;
 *     ListNode(int x) : val(x), next(NULL) {}
 * };
 */
.]]></description><category></category></item><item><title><![CDATA[剑指offer-JZ40-数组中只出现一次的数字]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108470810</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108470810</guid><author>sinat_32258909</author><pubDate>Tue, 08 Sep 2020 16:27:41 +0800</pubDate><description><![CDATA[题目描述

一个整型数组里除了两个数字之外，其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。

思路：

1.借助哈希表记录出现数字的频率和下标，最后遍历哈希表查找，时间复杂度和空间复杂度均为O(n);


#include&lt;unordered_map&gt;
class Solution {
public:
    void FindNumsAppearOnce(vector&lt;int&gt; data,int* num1,int *num2) {
        int n = d]]></description><category></category></item><item><title><![CDATA[剑指offer-JZ37-数字在升序数组中出现的次数]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108454730</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108454730</guid><author>sinat_32258909</author><pubDate>Mon, 07 Sep 2020 19:54:15 +0800</pubDate><description><![CDATA[题目描述

统计一个数字在升序数组中出现的次数。



思路：

排序数组查找元素，则用二分法，在二分基础上第一次找到重复元素左边界，第二次找到重复元素右边界。查找边界的时候注意递归结束条件和找到边界时的情况。查找左边界时，当中间元素center等于要查找的元素k时，判断center前一个元素是否也等于k，等于k则说明该位置不是边界，需要继续在左半部分查找；当center前一个元素不等于k或者该位置为0即数组第一个位置时，则说明查找到了左边界。右边界同理

C++


class Solution {
p.]]></description><category></category></item><item><title><![CDATA[牛客NC93-设计LRU缓存结构]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108424715</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108424715</guid><author>sinat_32258909</author><pubDate>Sat, 05 Sep 2020 21:21:09 +0800</pubDate><description><![CDATA[题目描述

设计LRU缓存结构，该结构在构造时确定大小，假设大小为K，并有如下两个功能

set(key, value)：将记录(key, value)插入该结构
	get(key)：返回key对应的value值
[要求]

set和get方法的时间复杂度为O(1)
	某个key的set或get操作一旦发生，认为这个key的记录成了最常使用的。
	当缓存的大小超过K时，移除最不经常使用的记录，即set或get最久远的。
若opt=1，接下来两个整数x, y，表示set(x, y)
若opt=2，接下来一个整]]></description><category></category></item><item><title><![CDATA[牛客NC88-寻找第K大]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108392777</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108392777</guid><author>sinat_32258909</author><pubDate>Fri, 04 Sep 2020 15:58:07 +0800</pubDate><description><![CDATA[题目描述

有一个整数数组，请你根据快速排序的思路，找出数组中第K大的数。

给定一个整数数组a,同时给定它的大小n和要找的K(K在1到n之间)，请返回第K大的数，保证答案存在。

测试样例：


[1,3,5,2,2],5,3


返回：2

思路：

1.若不按快排思路，用最大堆实现，建堆复杂度O(n)，插入复杂度O(logn)，总共复杂度O(nlogn)


class Finder {
public:
    int findKth(vector&lt;int&gt; a, int n, int K]]></description><category></category></item><item><title><![CDATA[剑指offer-JZ17-树的子结构]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108370913</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108370913</guid><author>sinat_32258909</author><pubDate>Wed, 02 Sep 2020 21:37:37 +0800</pubDate><description><![CDATA[题目描述

输入两棵二叉树A，B，判断B是不是A的子结构。（ps：我们约定空树不是任意一个树的子结构）

思路：

先判断A和B的根节点是否相同，不相同则递归找A的左右子树是否和B的根节点相同，一直不相同则返回false

若找到相同根节点，判断该根节点的左右子树是否也对应和B的左右子树相等

若B为空，则B已遍历完，返回true

若A为空，B还未遍历完A已经为空，返回false

C++


/*
struct TreeNode {
	int val;
	struct TreeNode *left;
	]]></description><category></category></item><item><title><![CDATA[剑指offer-JZ60-把二叉树打印成多行]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108363731</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108363731</guid><author>sinat_32258909</author><pubDate>Wed, 02 Sep 2020 15:50:39 +0800</pubDate><description><![CDATA[题目描述

从上到下按层打印二叉树，同一层结点从左至右输出。每一层输出一行。

思路：

层次遍历，再用两个变量，一个记录当前层要打印的节点数，一个记录下一层要打印的节点数

C++


/*
struct TreeNode {
    int val;
    struct TreeNode *left;
    struct TreeNode *right;
    TreeNode(int x) :
            val(x), left(NULL), right(NULL) {
    }]]></description><category></category></item><item><title><![CDATA[剑指offer-JZ57-二叉树的下一节点]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108350657</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108350657</guid><author>sinat_32258909</author><pubDate>Tue, 01 Sep 2020 21:04:54 +0800</pubDate><description><![CDATA[题目描述

给定一个二叉树和其中的一个结点，请找出中序遍历顺序的下一个结点并且返回。注意，树中的结点不仅包含左右子结点，同时包含指向父结点的指针。

思路：

下一节点一共有以下三种情况

二叉树为空，返回空；
	当前节点右子树不为空，则用一个指针指向该右子树，再循环找该右子树的左子树直到叶子节点；
	当前节点父节点不为空，则判断当前节点是其父节点的左子树还是右子树，若当前节点为左子树，返回当前节点父节点，若当前节点为右子树，向上遍历其父节点的父节点，重复之前判断
C++


/*
struct TreeL]]></description><category></category></item><item><title><![CDATA[剑指offer-JZ39-平衡二叉树]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108343271</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108343271</guid><author>sinat_32258909</author><pubDate>Tue, 01 Sep 2020 15:32:10 +0800</pubDate><description><![CDATA[题目描述

输入一棵二叉树，判断该二叉树是否是平衡二叉树。



在这里，我们只需要考虑其平衡性，不需要考虑其是不是排序二叉树



思路：

递归思想，先计算左子树深度，再计算右子树深度，如果两子树深度相差大于1则返回-1，否则返回两者之间较大者+1

C++


class Solution {
public:
    bool IsBalanced_Solution(TreeNode* pRoot) {
        return IsBalanced(pRoot) &gt;= 0;
    }..]]></description><category></category></item><item><title><![CDATA[剑指offer-JZ36-两个链表的第一个公共节点]]></title><link>https://blog.youkuaiyun.com/sinat_32258909/article/details/108244206</link><guid>https://blog.youkuaiyun.com/sinat_32258909/article/details/108244206</guid><author>sinat_32258909</author><pubDate>Wed, 26 Aug 2020 17:42:00 +0800</pubDate><description><![CDATA[题目描述

输入两个链表，找出它们的第一个公共结点。（注意因为传入数据是链表，所以错误测试数据的提示是用其他方式显示的，保证传入数据是正确的）

思路：

如果两个链表有公共节点，那么在公共节点之后他们公用尾部，相当于一个“Y”型结构，公共长度为n。用两个指针指向这两个链表依次比较，两链表长度分别为a+n，b+n。若a=b，即两链表长度相同，两个指针同步走，发现相同即找到；若ab，即两链表长度不同，则短链表指针走到表尾时，长链表指针还剩b-a未走，此时把短链表指针指向长链表表头继续同步走，当长链表指针走到表]]></description><category></category></item></channel></rss>