首页
学习
活动
专区
工具
TVP
发布

学习

学习
专栏成员
72
文章
5548
阅读量
13
订阅数
算法专题八: 链表
3. 不要吝啬空间, 大胆定义变量 4. 快慢双指针, (判环, 找链表中环的入口, 找链表中倒数第n个节点)
用户11317877
2024-10-20
720
算法专题七: 分治归并
算法思路: 本道题使用归并的思路进行排序, 先讲数组分为左右两个区间, 然后合并两个有序数组.
用户11317877
2024-10-18
710
C++11新特性 右值引用与新的类功能
在2003年C++标准委员会曾经提交了一份技术勘误表(简称TC1),使得C++03这个名字已经取代了C++98称为C++11之前的最新C++标准名称。不过由于C++03(TC1)主要是对C++98标准中的漏洞进行修复,语言的核心部分则没有改动,因此人们习惯性的把两个标准合并称为C++98/03标准。从C++0x到C++11,C++标准10年磨一剑,第二个真正意义上的标准珊珊来迟。相比于C++98/03,C++11则带来了数量可观的变化,其中包含了约140个新特性,以及对C++03标准中约600个缺陷的修正,这使得C++11更像是从C++98/03中孕育出的一种新语言。相比较而言,C++11能更好地用于系统开发和库开发、语法更加泛华和简单化、更加稳定和安全,不仅功能更强大,而且能提升程序员的开发效率,公司实际项目开发中也用得比较多,所以我们要作为一个重点去学习。C++11增加的语法特性非常篇幅非常多,我们这里没办法一 一讲解,所以本节主要讲解实际中比较实用的语法。
用户11317877
2024-10-16
970
算法专题六: 模拟与分治快排
算法思路: 本题就是简单的模拟, 只需按照题目的思路遍历所有的字符, 如果为?则将其替换, 替换时寻找26个小写字母中符合要求的, 即前一个字符和后一个字符都不等于当前字符, 如果为第一个字符和最后一个字符就不需要判断.
用户11317877
2024-10-16
750
算法专题五: 位运算
这道题就用到了我们总结的那个第七个方法, 干掉最右侧的1, 知道全部为0位置, 记录并返回干掉次数即可.
用户11317877
2024-10-16
610
算法专题四: 前缀和
根据题意, 创建一个前缀和数组, dp[i] = dp[i -1] + arr[i], 再使用前缀和数组, 要求的区域ret = dp[r] - dp[l-1], 这里我们为什么要这样求dp[i]呢? 还要绕一大圈子, 直接相加不就行了 , 但是如果直接相加求还不如我们的暴力解法呢, 这里还要开辟空间, 但是我们使用dp[i]求解只需遍历一遍数组即可求出前缀和
用户11317877
2024-10-16
550
算法专题三: 二分查找
那么本道题朴素的二分查找就不适用了, 我们需要根据二段行将数组进行划分, 得到下图结论.
用户11317877
2024-10-16
670
算法专题二: 滑动窗口
首先暴力解法就是依次枚举出所有的子数组, 从第一个元素为左端点依次向后枚举, 枚举到长度大于target就停止枚举, 以第二个元素为左端点进行枚举, 这里我们可以进行优化.
用户11317877
2024-10-16
1100
C++: unordered系列关联式容器
在C++98中,STL提供了底层为红黑树结构的一系列关联式容器,在查询时效率可达到
用户11317877
2024-10-16
790
C++: 使用红黑树模拟实现STL中的map和set
这里额外增加了一个header指针, 有了这个指针可以更方便的找到根节点, 并且可以比较容易的实现反向遍历, 可以看到set和map都是双向迭代器, 但是缺点就是需要不断的维护begin()这个要返回的节点, 所以我们这里为了也是先正反向迭代器, 也避免过于麻烦, 我们暂且讲_root也一并传过来, 方便我们找到根节点
用户11317877
2024-10-16
610
C++: 红黑树
红黑树, 是一种二叉搜索树, 但在每个节点上增加一个存储位表示节点的颜色, 可以是Red或者Black. 通过对任何一条从根到叶子的路径上各个节点着色方式的限制, 红黑树确保没有一条路径会比其他路径长出两倍, 因而是接近平衡的.
用户11317877
2024-10-16
780
C++: AVL树
你的时间有限, 所以不要为别人而活, 不要被教条所限, 不要活在别人的观念里, 不要让别人的意见左右自己内心的声音. -- 乔布斯
用户11317877
2024-10-16
1040
C++: 二叉树进阶面试题
根据前序遍历创建二叉树, 再递归子树之前需要加括号, 但是题目要求省略不必要的括号, 通过观察可发现
用户11317877
2024-10-16
650
C++: set与map容器的介绍与使用
二叉树我们在c语言数据结构阶段已经学习过, 这里map和set的特性需要先铺垫二叉搜索树, 而二叉搜索树也是一种树形解构, 二叉搜索树的特性了解, 有助于更好的理解map和set的特性, 本文将借助二叉搜索树, 对二叉树部分进行收尾与总结.
用户11317877
2024-10-16
640
算法专题一: 双指针
2. 快慢指针:又称为龟兔赛跑算法,其基本思想就是使用两个移动速度不同的指针在数组或链表等序列结构上移动。
用户11317877
2024-10-16
490
C++三大特性之多态详解
多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。
用户11317877
2024-10-16
1280
C++中的继承
继承机制是面向对象程序设计使代码可以复用的最重要的手段, 它允许程序员在保持原有类特性的基础上进行扩展, 增加功能, 这样产生新的类, 称派生类, 继承呈现了面向对象程序设计的层次结构, 体现了由简单到复杂的认知过程。以前我们接触的复用都是函数复用,继承是类设计层次的复用。
用户11317877
2024-10-16
660
vector深度剖析及模拟实现
本文重点模拟实现vector的核心接口, 帮助我们更好的理解底层逻辑, 以及对vector的深度剖析.
用户11317877
2024-10-16
1020
Leetcode之string
题目思路: 本题为大数运算类型题目, 不能用于处理大整数的库, 但可以使用一般的算术运算, 我们进行模拟, 首先依次取出每个数字的最后一位,进行加法运算, 并且将值分为进位和数值, 第一次的进位next = 0 , 这里只有当num1和num2都结束才能结束循环, 例如下面999999999+1, 如果其中一个数字已经结束, 则在高位补0, 并且将每一次的值追加到答案字符串, 循环结束, 如果进位还有值, 也追加到结束字符串, 最后逆置字符串.
用户11317877
2024-10-16
730
C++第十四弹 -- STL之queue和priority_queue深度剖析
打开C++文档介绍, 我们可以发现< queue >头文件中包含了两种容器适配器类, 我们先来看queue.
用户11317877
2024-10-16
730
点击加载更多
社区活动
【纪录片】中国数据库前世今生
穿越半个世纪,探寻中国数据库50年的发展历程
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档