<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[dp1041814775的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/dp1041814775</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; dp1041814775]]></copyright><item><title><![CDATA[leetcode刷题日记-合并区间]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/132545888</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/132545888</guid><author>dp1041814775</author><pubDate>Mon, 28 Aug 2023 19:48:59 +0800</pubDate><description><![CDATA[以数组 intervals 表示若干个区间的集合，其中单个区间为 intervals[i] = [starti, endi]。请你合并所有重叠的区间，并返回 一个不重叠的区间数组，该数组需恰好覆盖输入中的所有区间。]]></description><category></category></item><item><title><![CDATA[leetcode刷题日记-无重复字符的最长子串]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/132545527</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/132545527</guid><author>dp1041814775</author><pubDate>Mon, 28 Aug 2023 19:23:57 +0800</pubDate><description><![CDATA[给定一个字符串 s ，请你找出其中不含有重复字符的 最长子串 的长度。输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”，所以其长度为 3。]]></description><category></category></item><item><title><![CDATA[leetcode刷题日记-接雨水]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/132453481</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/132453481</guid><author>dp1041814775</author><pubDate>Wed, 23 Aug 2023 15:53:55 +0800</pubDate><description><![CDATA[解题思路给定 n 个非负整数表示每个宽度为 1 的柱子的高度图，计算按此排列的柱子，下雨之后能接多少雨水。示例 1：输入：height = [0,1,0,2,1,0,1,3,2,1,2,1]输出：6解释：上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图，在这种情况下，可以接 6 个单位的雨水（蓝色部分表示雨水）。]]></description><category></category></item><item><title><![CDATA[leetcode刷题日记-三数和]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/132427912</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/132427912</guid><author>dp1041814775</author><pubDate>Tue, 22 Aug 2023 14:59:39 +0800</pubDate><description><![CDATA[给你一个整数数组 nums ，判断是否存在三元组 [nums[i], nums[j], nums[k]] 满足 i!= j、i!= k 且 j!= k ，同时还满足 nums[i] + nums[j] + nums[k] == 0。请你返回所有和为 0 且不重复的三元组。注意：答案中不可以包含重复的三元组。示例 1：输入：nums = [-1,0,1,2,-1,-4]输出：[[-1,-1,2],[-1,0,1]]解释：不同的三元组是 [-1,0,1] 和 [-1,-1,2]]]></description><category></category></item><item><title><![CDATA[leetcode刷题日记-移动0]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/132388869</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/132388869</guid><author>dp1041814775</author><pubDate>Sun, 20 Aug 2023 09:33:04 +0800</pubDate><description><![CDATA[给定一个数组 nums，编写一个函数将所有 0 移动到数组的末尾，同时保持非零元素的相对顺序。请注意 ，必须在不复制数组的情况下原地对数组进行操作。]]></description><category></category></item><item><title><![CDATA[leetcode刷题日记-最长连续序列]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/132388671</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/132388671</guid><author>dp1041814775</author><pubDate>Sun, 20 Aug 2023 09:09:51 +0800</pubDate><description><![CDATA[给定一个未排序的整数数组 nums ，找出数字连续的最长序列（不要求序列元素在原数组中连续）的长度。请你设计并实现时间复杂度为 O(n) 的算法解决此问题。示例 1：输入：nums = [100,4,200,1,3,2]输出：4解释：最长数字连续序列是 [1, 2, 3, 4]。它的长度为 4。]]></description><category></category></item><item><title><![CDATA[leetcode刷题日记-字母异位词分组]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/132388562</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/132388562</guid><author>dp1041814775</author><pubDate>Sun, 20 Aug 2023 08:42:16 +0800</pubDate><description><![CDATA[给你一个字符串数组，请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。字母异位词 是由重新排列源单词的所有字母得到的一个新单词。]]></description><category></category></item><item><title><![CDATA[leetcode刷题日记-两数和]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/132377084</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/132377084</guid><author>dp1041814775</author><pubDate>Sat, 19 Aug 2023 11:05:18 +0800</pubDate><description><![CDATA[leetcode之两数和]]></description><category></category></item><item><title><![CDATA[排序算法之归并排序]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/108822433</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/108822433</guid><author>dp1041814775</author><pubDate>Sun, 27 Sep 2020 10:22:59 +0800</pubDate><description><![CDATA[排序算法之归并排序
前言
这是分治法的典型案例，也属于牺牲空间换取时间的例子
此处使用的是较为经典的二路归并
排序原理
该算法是先使每个子序列有序，随后合并两个有序子列形成有序全列
1、将待排序数组分开成若干子列（一般是不断二分，直至每个子列仅有一个元素）
2、将两个子列有序合并，最终合并出有序全列

此处为引用

时间复杂度分析
O(nlogn)
C++实现
#include &lt;cstring&gt;
#include &lt;iostream&gt;
typedef bool(*CompareFu]]></description><category></category></item><item><title><![CDATA[算法引言之大O记法---时间复杂度分析]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/108807196</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/108807196</guid><author>dp1041814775</author><pubDate>Sat, 26 Sep 2020 07:01:25 +0800</pubDate><description><![CDATA[算法引言之大O记法—时间复杂度分析
前言
来填一填坑
问题分析
对于代码，企业肯定需要更高质量。那么，以什么标准衡量一段代码的质量呢？显而易见，执行时间。没有客户希望自己的程序始终处于转圈状态，都想要一个反应速度很快的软件。问题随之而来，怎样判断一段代码运行的速度呢。我们当然不能实际测试机器跑一段代码用了多久，因为这样限制性很强。如果对于一段代码进行大量的数据测试，软件开发成本将变的极其高昂。因此，我们应该将重心放在关键的操作上面，即核心代码执行了多少次。这样一来我们就找到了相对公允的判断标准
规模问题
我]]></description><category></category></item><item><title><![CDATA[排序算法之希尔排序]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/108788947</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/108788947</guid><author>dp1041814775</author><pubDate>Fri, 25 Sep 2020 09:16:57 +0800</pubDate><description><![CDATA[排序算法之希尔排序
前言
从此篇开始将介绍较为高级的排序算法，相信大家已经发现，前面的几篇算法的时间复杂度表现并不优秀，下面将介绍时间复杂度表现不错的几种排序算法
其中很多用到了分治法的思想，望大家多多体会
排序原理
官话：
1、选定一个增量长，按照增量长h作为数据分组的依据。对数据进行分组
2、对分好组的每一组数据完成插入排序
3、减小增量长，最小为1,

...]]></description><category></category></item><item><title><![CDATA[排序算法之插入排序]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/108788748</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/108788748</guid><author>dp1041814775</author><pubDate>Fri, 25 Sep 2020 08:43:49 +0800</pubDate><description><![CDATA[排序算法之插入排序
前言
排序篇第三篇内容
排序原理
官话：
1、把所有元素分为两组，已排序和未排序
2、找到未排序的第一个元素，向已排序的组中进行插入操作
3、倒序遍历已经排序的元素，并进行比较，直到找到一个元素小于待插入元素（第一个满足此条件的元素），就把待插入元素放到这个位置
白话：
相当于起扑克牌，并没有进行排序，在你面前有一堆牌需要排序。拿起第一张，第二张进行比较，找到应该在的位置，以此类推完成整个数组的排序工作
时间复杂度分析
内部同样使用了双层循环，时间复杂度以大O记法记为：O(n^2)
C+]]></description><category></category></item><item><title><![CDATA[排序算法之选择排序]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/108784217</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/108784217</guid><author>dp1041814775</author><pubDate>Thu, 24 Sep 2020 22:08:04 +0800</pubDate><description><![CDATA[排序算法之选择排序
前言
作为排序算法篇的第二篇内容，在排序算法上进一步深入，讲解更为常用的选择排序
排序原理
官话：（更加精准，但是比较难懂）
1、在每一次的遍历中，都假定第一个索引处的元素为最小值（此处指从小到大排序），和其他索引处的值依次进行比较，若当前索引处的值大于其他某个索引处的值，则假定其他某个索引处的值为最小值，最后可以找到最小值所在的索引
2、交换第一个索引处和最小值所在的索引处的值
白话：（更加通俗易懂，但是没有那么准确）
一共进行n次遍历数组，每一次将尚未判断的最靠前的元素与后面所有的元]]></description><category></category></item><item><title><![CDATA[排序算法之冒泡排序]]></title><link>https://blog.youkuaiyun.com/dp1041814775/article/details/108783788</link><guid>https://blog.youkuaiyun.com/dp1041814775/article/details/108783788</guid><author>dp1041814775</author><pubDate>Thu, 24 Sep 2020 21:35:33 +0800</pubDate><description><![CDATA[排序算法之冒泡排序
前言
作为学习笔记及分享使用，目的在于加深自己的印象。代码若有雷同纯属巧合
排序原理
1、比较相邻两个元素，依据排序需要调整顺序
2、对每一对相邻元素进行比较，最终完成排序
时间复杂度分析
在最坏情况之下，要对逆序排序进行调整为顺序排序（或者顺序变逆序），
比较次数：N^2/2-N/2
交换次数：N^2/2-N/2
总有效操作次数：N^2-N
时间复杂度（大O记法）：O(n^2)
tip：对于大O记法的相关内容日后补上，优先整理排序相关算法。有时间尽快跟上
C++实现
#include ]]></description><category></category></item></channel></rss>