双指针专训 给定一个数组nums,编写一个函数将所有0移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作算法原理:定义双指针:left = 0, right = -1,++right,再检查nums[ right ] 的值,等于 1 则与nums[ left ]交换,交换后++left这是ac代码。
动态规划专训8——背包问题 1049. 最后一块石头的重量 II有一堆石头,用整数数组stones表示。其中stones[i]表示第i块石头的重量。每一回合,从中选出任意两块石头,然后将它们一起粉碎。假设石头的重量分别为x和y,且x
动态规划专训2——路径问题 一个机器人位于一个m x n网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish”问总共有多少条不同的路径因为题给信息,一维数组已经完成不了要求,所以我们要用二维数组1.状态表示:用dp[ i ][ j ]表示以第 i 行 j 列为结尾的路径总和2.状态转移方程:dp[ i ][ j ] = dp[ i - 1][ j ] + dp[ i ][ j - 1 ]
动态规划专训1——泰波那契数列模型 动态规划的思想:将一个问题分隔为若干个子问题,完成子问题得到结构再得到最终的答案动态规划往往解题步骤固定,分为以下几步1.找出状态表示2.完成状态转移方程3.初始化4.填表顺序5.返回值后面三步偏重细节,二解题的核心就在于前两步,所以要想练好动态规划,大量的练习,见识更多的题型无疑是很重要的,下面我们开始今天的练习。
C++从零开始(day55)——C++11 这是关于一个普通双非本科大一学生的C++的学习记录贴在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料那么开启正题今天分享的是关于C++的语法知识点。
C++从零开始(day54)——位图,布隆过滤器 这是关于一个普通双非本科大一学生的C++的学习记录贴在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料那么开启正题今天分享的是关于位图, 布隆过滤器相关的知识点。
C++从零开始(day53)——unordered_set,unordered_map模拟实现 这是关于一个普通双非本科大一学生的C++的学习记录贴在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料那么开启正题今天分享的是关于unordered_set,unordered_map模拟实现。
C++从零开始(day52)——unordered_set,unordered_map学习使用 C++98中,STL提供了底层为红黑树结构的一系列容器,在查找时效率可以达到时间复杂度可以达到O(logN),即红黑树的高度次,当树中的结点非常多时,查询效率也不理想,因此在C++11中,STL又提供了4个unordered系列的关联式容器,者四个容器与红黑树结构的关联式容器使用方法类似,只是其底层结构不同,这里只介绍unordered_set,unordered_map,关于unordered_multiset,unordered_multiset与其大同小异,这里不再花大量篇幅赘述。
C++从零开始(day51)——set,map模拟实现 这是关于一个普通双非本科大一学生的C++的学习记录贴在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料那么开启正题今天分享的是关于set,map模拟实现。
C++从零开始(day50)——RBTree模拟实现 RBTree结点是一种三岔链,不仅存储了左右子树结点的指针,还要存储父亲结点的指针,当然还要存储结点颜色以及pairBLACK,RED, _kv(kv){}
C++从零开始(day49)——AVLTree模拟实现 这是关于一个普通双非本科大一学生的C++的学习记录贴在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料那么开启正题今天分享的是关于AVLTree模拟实现。
C++从零开始(day48)——map再深理解 map类里有重载[ ],但是这里的[ ]与vector, string,deque里的不一样,简单来说,传入pair键值对里面的key,返回其映射对象value的引用,在了解它的之前,我们先来探究map里的insert是怎样的底层实现。
C++从零开始(day47)——set,map学习使用 这是关于一个普通双非本科大一学生的C++的学习记录贴在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料那么开启正题今天分享的是关于set和map的知识点。
C++从零开始(day46)——二叉树相关题目3 这是关于一个普通双非本科大一学生的C++的学习记录贴在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料那么开启正题今天分享的是关于二叉树的题目。
C++从零开始(day45)——二叉树相关题目1 这是关于一个普通双非本科大一学生的C++的学习记录贴在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料那么开启正题今天分享的是关于二叉树的题目。