C++学习笔记
胖六儿
这个作者很懒,什么都没留下…
展开
-
LeetCode初级算法:数组--买卖股票的最佳时机 II
以下是本人的C++算法学习笔记,记录在博客上以供自己随时查阅题目描述:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。参照网上各位算法大牛的文章,该算法比较好的解题思路是计算上升期的价格总和我先在VS2017上整...原创 2019-06-20 14:38:59 · 289 阅读 · 0 评论 -
LeetCode初级算法:数组--旋转数组
以下是本人的C++算法学习笔记,记录在博客上以供自己随时查阅题目描述:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数尽可能想出更多的解决方案,至少有三种不同的方法可以解决这个问题。要求使用空间复杂度为 O(1) 的原地算法。我先在VS2017上整体实现该功能,再将关键代码在LeetCode上执行我比较笨,所以只学会了两种方法,将这两种方法做下笔记,等第二遍刷题...原创 2019-06-20 14:47:12 · 262 阅读 · 0 评论 -
LeetCode初级算法:数组--从排序数组中删除重复项
以下是本人的C++算法学习笔记,记录在博客上以供自己随时查阅题目描述:给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。我先在VS2017上整体实现该功能,再将关键代码在LeetCode上执行C++实现如下:#include<iostr...原创 2019-06-20 14:31:29 · 181 阅读 · 0 评论 -
排序算法:直接插入排序
定义:直接插入排序(Straight Insertion Sort)是一种最简单的排序方法,其基本操作是将一条记录插入到已排好的有序表中,从 而得到一个新的、记录数量增1的有序表。思想:每次将一个待排序的记录,按其关键字的大小插入到已经排好序的一组记录的适当位置上,直到所有待排序记录全部插入为止;和大家平时玩扑克牌时整理牌的方法差不多,看后面的每张牌,将其插入到前面合适的位置,当整理...原创 2019-07-02 20:07:00 · 1021 阅读 · 0 评论 -
排序算法:快速排序
排序思想:快速排序是对冒泡排序的一种改进。其基本思想是基于分治法的:在待排序表[1…n]中任取一个元素pivot作为基准,通过一趟排序将待排序表划分为独立的两部分L[1…k-1]和L[k+1…n],使得L[1...k-1]中所有元素小于等于pivot,L[k+1…n]中所有元素大于等于pivot,则pivot放在了其最终位置L(k)上,这个过程称为一趟快速排序。而后分别递归地对两个子表重复上述...原创 2019-07-03 12:51:06 · 259 阅读 · 0 评论 -
LeetCode初级算法:旋转图像
以下是本人的C++算法学习笔记,记录在博客上以供自己随时查阅题目描述:给定一个 n × n 的二维矩阵表示一个图像,将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。解题思路:先将原数组转置,再将每行数组元素进行旋转旋转函数:void rotate(vector<vector<int>...原创 2019-07-15 17:31:03 · 194 阅读 · 0 评论 -
C++:拷贝构造函数
转自https://blog.csdn.net/lwbeyond/article/details/6202256本人稍加整理,当作学习笔记一、什么是拷贝构造函数首先对于普通类型的对象来说,它们之间的复制是很简单的,例如:int a = 100;int b = a;而类对象与普通对象不同,类对象内部结构一般较为复杂,存在各种成员变量。下面看一个类对象拷贝的简单例子:#...转载 2019-07-06 13:39:22 · 143 阅读 · 0 评论