<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[eilot_c的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/eilot_c</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; eilot_c]]></copyright><item><title><![CDATA[Shell编程学习]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/125713462</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/125713462</guid><author>eilot_c</author><pubDate>Mon, 11 Jul 2022 00:41:52 +0800</pubDate><description><![CDATA[Shell编程基础知识学习]]></description><category></category></item><item><title><![CDATA[二叉树刷题2]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108928702</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108928702</guid><author>eilot_c</author><pubDate>Mon, 05 Oct 2020 15:43:52 +0800</pubDate><description><![CDATA[654. 最大二叉树

难度中等196收藏分享切换为英文接收动态反馈

给定一个不含重复元素的整数数组。一个以此数组构建的最大二叉树定义如下：

二叉树的根是数组中的最大元素。
	左子树是通过数组中最大值左边部分构造出的最大二叉树。
	右子树是通过数组中最大值右边部分构造出的最大二叉树。
通过给定的数组构建最大二叉树，并且输出这个树的根节点。



示例 ：


输入：[3,2,1,6,0,5]
输出：返回下面这棵树的根节点：

      6
    /   \
   3     5
    \    .]]></description><category></category></item><item><title><![CDATA[算法刷题之二叉树]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108928375</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108928375</guid><author>eilot_c</author><pubDate>Mon, 05 Oct 2020 14:49:15 +0800</pubDate><description><![CDATA[二叉树的遍历：

前序遍历： 根左右

中序遍历：左根右

后序遍历： 左右根



计算二叉树有多少个结点


int count(TreeNode root){
    if(root==null) return 0;
    return 1 + count(root.left)+count(root.right);
}

226. 翻转二叉树

难度简单645收藏分享切换为英文接收动态反馈

翻转一棵二叉树。

示例：

输入：


     4
   /   \
  2     7
 / \  .]]></description><category></category></item><item><title><![CDATA[leetcode之括号问题]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108927991</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108927991</guid><author>eilot_c</author><pubDate>Mon, 05 Oct 2020 14:01:25 +0800</pubDate><description><![CDATA[20. 有效的括号

难度简单1894收藏分享切换为英文接收动态反馈

给定一个只包括'('，')'，'{'，'}'，'['，']'的字符串，判断字符串是否有效。

有效字符串需满足：

左括号必须用相同类型的右括号闭合。
	左括号必须以正确的顺序闭合。
注意空字符串可被认为是有效字符串。

示例 1:


输入: "()"
输出: true


示例2:


输入: "()[]{}"
输出: true


示例3:


输入: "(]"
输出: false


示例4:


输入: "([)]"...]]></description><category></category></item><item><title><![CDATA[leetcode986. 区间列表的交集]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108927813</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108927813</guid><author>eilot_c</author><pubDate>Mon, 05 Oct 2020 13:06:47 +0800</pubDate><description><![CDATA[给定两个由一些闭区间组成的列表，每个区间列表都是成对不相交的，并且已经排序。

返回这两个区间列表的交集。

（形式上，闭区间[a, b]（其中a &lt;= b）表示实数x的集合，而a &lt;= x &lt;= b。两个闭区间的交集是一组实数，要么为空集，要么为闭区间。例如，[1, 3] 和 [2, 4] 的交集为 [2, 3]。）



示例：




输入：A = [[0,2],[5,10],[13,23],[24,25]], B = [[1,5],[8,12],[15,24],[2...]]></description><category></category></item><item><title><![CDATA[计算机视觉中常见的注意力机制]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108367972</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108367972</guid><author>eilot_c</author><pubDate>Wed, 02 Sep 2020 18:50:52 +0800</pubDate><description><![CDATA[计算机视觉中常见的注意力机制


本来自己写了，关于SENet的注意力截止，但是在准备写其他注意力机制代码的时候，看到一篇文章总结的很好，所以对此篇文章进行搬运，以供自己查阅，并加上自己的理解。

文章目录计算机视觉中常见的注意力机制1.SENET中的channel-wise加权的实现2.CBAM中的通道注意力机制3.CBAM中的空间注意力机制4.CBAM中的融合4.Non-local5.dual pooling的pytorch实现
1.SENET中的channel-wise加权的实现
实现代码参考自：se]]></description><category></category></item><item><title><![CDATA[链表排序]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108359712</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108359712</guid><author>eilot_c</author><pubDate>Wed, 02 Sep 2020 12:10:42 +0800</pubDate><description><![CDATA[链表排序

题目描述
在&nbsp;O(n&nbsp;log&nbsp;n) 时间复杂度和常数级空间复杂度下，对链表进行排序。
输入: 4-&gt;2-&gt;1-&gt;3
输出: 1-&gt;2-&gt;3-&gt;4
示例 2:
输入: -1-&gt;5-&gt;3-&gt;4-&gt;0
输出: -1-&gt;0-&gt;3-&gt;4-&gt;5
来源：力扣（LeetCode）
[链接][https://leetcode-cn.com/problems/sort-list]
著作权归领扣网络所有。]]></description><category></category></item><item><title><![CDATA[leetcode200. 岛屿数量]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108309270</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108309270</guid><author>eilot_c</author><pubDate>Sun, 30 Aug 2020 20:01:39 +0800</pubDate><description><![CDATA[难度中等739收藏分享切换为英文关注反馈

给你一个由'1'（陆地）和'0'（水）组成的的二维网格，请你计算网格中岛屿的数量。

岛屿总是被水包围，并且每座岛屿只能由水平方向或竖直方向上相邻的陆地连接形成。

此外，你可以假设该网格的四条边均被水包围。



示例 1:


输入:
[
['1','1','1','1','0'],
['1','1','0','1','0'],
['1','1','0','0','0'],
['0','0','0','0','0']
]
输出:1


示例2:


...]]></description><category></category></item><item><title><![CDATA[C++基础三]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108208406</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108208406</guid><author>eilot_c</author><pubDate>Mon, 24 Aug 2020 20:54:25 +0800</pubDate><description><![CDATA[C++基础三
函数模板使用
类型，逻辑非常相似
类型参数化  泛型编程—模板技术
template// 告诉编译器，下面如果出现T不报错，T是通用类型
template//与前者等价
mySwapT(a, b);
1.自动类型推导，必须有参数类型才可以推导
2.显示指定类型
mySwapT(a, b);
3.模板必须要指定T才可以使用
函数模板与普通函数的区别和实现

函数模板不能隐士转换
如果出现重载， 优先使用普通函数调用， 如果没有实现，则会出现错误
如果想强制调用模板， 则可以使用空参数列表
函数模]]></description><category></category></item><item><title><![CDATA[C++基础2]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108153182</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108153182</guid><author>eilot_c</author><pubDate>Fri, 21 Aug 2020 18:16:48 +0800</pubDate><description><![CDATA[运算符重载

运算符重载，就是对已有的运算符进行重定义，赋予其另一种功能， 以适应不同的类型
加号运算符重载
如果想让自定义数据 进行+ 号运算， 那么就需要重载+号运算符
在成员函数里面或者全局函数里 重写一个+运算符的函数
函数名operator+(){}
运算符重载也可以提供多个版本
重载左移运算符

不要随意卵用符号重载
内置数据类型的运算符不可以重载
cout&lt;&lt;直接对Person 自定义数据类型 进行输出
写到全局函数中

ostream &amp;  operator&lt;&lt]]></description><category></category></item><item><title><![CDATA[C++基础第一部分]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108133406</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108133406</guid><author>eilot_c</author><pubDate>Thu, 20 Aug 2020 20:47:20 +0800</pubDate><description><![CDATA[C++基础
c++概述
C++是对c的扩展，是c语言的超集。

库是编程模块的集合，可以在程序中调用它们，库对很多常见的编程问题提供了可靠的解决方法，因此可以节约大量的时间和工作量。
c++ 在c语言基础上增加了面向对象和泛型编程的思想。
::双冒号 作为全局作用域
命名空间
namespace命名空间的主要用途， 用来解决命名冲突的问题
1.命名空间下， 可以放 函数， 变量， 结构体， 类
2.命名空间必须定义在全局作用域下
3.命名空间可以嵌套命名空间
4.命名空间是开放的，可以随时向命名空间添加内容]]></description><category></category></item><item><title><![CDATA[常用的几种排序算法]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/108013666</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/108013666</guid><author>eilot_c</author><pubDate>Fri, 14 Aug 2020 21:05:40 +0800</pubDate><description><![CDATA[常用的几种排序算法
什么是算法的稳定性？
稳定性的定义：

排序前后两个相等的数相对位置不变，则算法稳定。


那么稳定有什么好处吗？

从一个键上排序，然后再从另一个键上排序，第一个键排序的结果可以为第二个键排序所用


各排序算法的稳定性：

堆排序、快速排序、希尔排序、直接选择排序不是稳定的排序算法；
基数排序、冒泡排序、直接插入排序、折半插入排序、归并排序是稳定的排序算法。

1. 冒泡排序算法

这个算法的名字由来是因为越小的元素会经由交换慢慢“浮”到数列的顶端。


它的时间复杂度为o(n^2)]]></description><category></category></item><item><title><![CDATA[leetcode692. 前K个高频单词]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/107692883</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/107692883</guid><author>eilot_c</author><pubDate>Thu, 30 Jul 2020 16:26:48 +0800</pubDate><description><![CDATA[给一非空的单词列表，返回前k个出现次数最多的单词。

返回的答案应该按单词出现频率由高到低排序。如果不同的单词有相同出现频率，按字母顺序排序。

示例 1：


输入: ["i", "love", "leetcode", "i", "love", "coding"], k = 2
输出: ["i", "love"]
解析: "i" 和 "love" 为出现次数最多的两个单词，均为2次。
    注意，按字母顺序 "i" 在 "love" 之前。




示例 2：


输入: ["the", "day...]]></description><category></category></item><item><title><![CDATA[leetcode347. 前 K 个高频元素]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/107691011</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/107691011</guid><author>eilot_c</author><pubDate>Thu, 30 Jul 2020 15:29:00 +0800</pubDate><description><![CDATA[给定一个非空的整数数组，返回其中出现频率前k高的元素。



示例 1:


输入: nums = [1,1,1,2,2,3], k = 2
输出: [1,2]


示例 2:


输入: nums = [1], k = 1
输出: [1]



提示：

你可以假设给定的k总是合理的，且 1 ≤ k ≤ 数组中不相同的元素的个数。
	你的算法的时间复杂度必须优于 O(nlogn) ,n是数组的大小。
	题目数据保证答案唯一，换句话说，数组中前 k 个高频元素的集合是唯一的。
	你可以按...]]></description><category></category></item><item><title><![CDATA[leetcode98. 验证二叉搜索树]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/107644661</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/107644661</guid><author>eilot_c</author><pubDate>Tue, 28 Jul 2020 21:02:27 +0800</pubDate><description><![CDATA[给定一个二叉树，判断其是否是一个有效的二叉搜索树。

假设一个二叉搜索树具有如下特征：

节点的左子树只包含小于当前节点的数。
	节点的右子树只包含大于当前节点的数。
	所有左子树和右子树自身必须也是二叉搜索树。
示例1:


输入:
    2
   / \
  1   3
输出: true


示例2:


输入:
    5
   / \
  1   4
    / \
   3   6
输出: false
解释: 输入为: [5,1,4,null,null,3,6]。
    根节点的值为...]]></description><category></category></item><item><title><![CDATA[leetcode.面试题68 - I. 二叉搜索树的最近公共祖先]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/107643829</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/107643829</guid><author>eilot_c</author><pubDate>Tue, 28 Jul 2020 20:06:54 +0800</pubDate><description><![CDATA[给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。

百度百科中最近公共祖先的定义为：“对于有根树 T 的两个结点 p、q，最近公共祖先表示为一个结点 x，满足 x 是 p、q 的祖先且 x 的深度尽可能大（一个节点也可以是它自己的祖先）。”

例如，给定如下二叉搜索树: root =[6,2,8,0,4,7,9,null,null,3,5]





示例 1:


输入: root = [6,2,8,0,4,7,9,null,null,3,5], p = 2, q = 8
输出: 6 
...]]></description><category></category></item><item><title><![CDATA[leetcode.525. 连续数组]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/107548034</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/107548034</guid><author>eilot_c</author><pubDate>Thu, 23 Jul 2020 21:21:51 +0800</pubDate><description><![CDATA[给定一个二进制数组, 找到含有相同数量的 0 和 1 的最长连续子数组（的长度）。

示例 1:


输入: [0,1]
输出: 2
说明: [0, 1] 是具有相同数量0和1的最长连续子数组。

示例 2:

输入: [0,1,0] 输出: 2 说明: [0, 1] (或 [1, 0]) 是具有相同数量0和1的最长连续子数组。

注意:给定的二进制数组的长度不会超过50000。

当长度大于10000的时候就不适合用复杂度为o(n^2)

c++


class Solution {
public:
 .]]></description><category></category></item><item><title><![CDATA[leetcode101. 对称二叉树]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/107546079</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/107546079</guid><author>eilot_c</author><pubDate>Thu, 23 Jul 2020 20:01:37 +0800</pubDate><description><![CDATA[给定一个二叉树，检查它是否是镜像对称的。

例如，二叉树[1,2,2,3,4,4,3]是对称的。


    1
   / \
  2   2
 / \ / \
3  4 4  3




但是下面这个[1,2,2,null,3,null,3]则不是镜像对称的:


    1
   / \
  2   2
   \   \
   3    3




进阶：

你可以运用递归和迭代两种方法解决这个问题吗？

对称二叉树的左子树的前序遍历等于右子树的后序遍历的逆


# Definition f...]]></description><category></category></item><item><title><![CDATA[leetcode965. 单值二叉树]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/107545496</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/107545496</guid><author>eilot_c</author><pubDate>Thu, 23 Jul 2020 19:25:01 +0800</pubDate><description><![CDATA[如果二叉树每个节点都具有相同的值，那么该二叉树就是单值二叉树。

只有给定的树是单值二叉树时，才返回true；否则返回false。



示例 1：




输入：[1,1,1,1,1,null,1]
输出：true


示例 2：




输入：[2,2,2,5,2]
输出：false




提示：

给定树的节点数范围是[1, 100]。
	每个节点的值都是整数，范围为[0, 99]。

# Definition for a binary tree node.
# class TreeN...]]></description><category></category></item><item><title><![CDATA[leetcode111. 二叉树的最小深度]]></title><link>https://blog.youkuaiyun.com/eilot_c/article/details/107502252</link><guid>https://blog.youkuaiyun.com/eilot_c/article/details/107502252</guid><author>eilot_c</author><pubDate>Wed, 22 Jul 2020 00:28:47 +0800</pubDate><description><![CDATA[给定一个二叉树，找出其最小深度。

最小深度是从根节点到最近叶子节点的最短路径上的节点数量。

说明:叶子节点是指没有子节点的节点。

示例:

给定二叉树[3,9,20,null,null,15,7],


    3
   / \
  9  20
    /  \
   15   7

返回它的最小深度 2.




# Definition for a binary tree node.
# class TreeNode:
#     def __init__(self, x):
#     ...]]></description><category></category></item></channel></rss>