- 博客(13)
- 收藏
- 关注
原创 [C++ code]合并两个有序数组
给你两个按 非递减顺序 排列的整数数组 nums1 和 nums2,另有两个整数 m 和 n ,分别表示 nums1 和 nums2 中的元素数目。请你 合并 nums2 到 nums1 中,使合并后的数组同样按 非递减顺序 排列。注意:最终,合并后数组不应由函数返回,而是存储在数组 nums1 中。为了应对这种情况,nums1 的初始长度为 m + n,其中前 m 个元素表示应合并的元素,后 n 个元素为 0 ,应忽略。nums2 的长度为 n 。class Solution {publi
2022-05-25 13:18:16 140
原创 [C++ code]买卖股票
Ⅰ.给定一个数组 prices ,它的第 i 个元素 prices[i] 表示一支给定股票第 i 天的价格。你只能选择 某一天 买入这只股票,并选择在 未来的某一个不同的日子 卖出该股票。设计一个算法来计算你所能获取的最大利润。返回你可以从这笔交易中获取的最大利润。如果你不能获取任何利润,返回 0 。示例 1:输入:[7,1,5,3,6,4]输出:5解释:在第 2 天(股票价格 = 1)的时候买入,在第 5 天(股票价格 = 6)的时候卖出,最大利润 = 6-1 = 5 。 ..
2022-02-19 18:55:30 944
原创 [C++ code]用两个栈实现队列;用队列实现栈
用两个栈实现一个队列。请实现它的两个函数:appendTail:在队列尾部插入整数deleteHead :在队列头部删除整数。(若队列中没有元素,deleteHead 操作返回 -1 )例如:数据有①、②、③,要实现队列就要实现进入顺序为①②③,出去的顺序也为①②③栈1:按顺序入栈①②③,再按栈的先进后出顺序全部出栈③②①栈2:栈1出栈后进入栈2,顺序为:入栈③②①,则栈2出栈顺序为①②③按以上方法即实现了两个栈实现队列。class CQueue{ stack
2022-02-13 18:12:47 755
原创 [C++ code]手撕二叉树的遍历
前序遍历根-左-右,递归class Solution{public: vector<int> preorderTraversal(TreeNode* root) { vector<int> result; preorder(root, result); return result; } void preorder(TreeNode* cur, vector<int> &res)
2022-02-12 13:55:59 512
原创 [C++ code]三数之和,
给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有和为 0 且不重复的三元组。注意:答案中不可以包含重复的三元组。不可以有重复答案,必然会有一定顺序输出每个答案,这样好识别重复项。思路即为首先排序,确定第一位后,寻找后两位。利用双指针法寻找后两位,一个指针指向头,一个指针指向尾。如果两者和大于目标值,那么尾指针向前移;如果两者和小于目标值,那么头指针向后移。设置二维数组存储最终返回值;如果数组长度小于
2022-02-11 18:29:10 247
原创 C++中的类型转换
四种类型转换方式低风险的数据类型转换:例如enum、struct、结构体、int、double、float、char等等高风险的数据类型转换:例如指针、引用等等C语言中的强制转换:double age = 13.9;int c_age = int(age);//或者写成(int)age1.static_castdouble age = 13.9;int cpp_age = static_cast<int>(age);int4字节,doule8字节,相互转
2022-02-11 14:31:56 5205 3
原创 C++虚函数
首先要了解一下几个概念:虚函数、虚函数表、虚函数表指针、虚函数表在支持多态方面的工作原理首先我们先创建一个空类,看一下它的sizeof值(C++中的运算符,用于获取对象的长度,即所占用内存的大小,以字节为单位)class A{};A a;cout<<"sizeof a = "<<sizeof(a)<<endl;会发现此时返回值为sizeof a = 1,说明一个空类所占内存空间为1字节。继续,若在类中加入两个普通的成员函数class A
2022-02-10 18:03:48 588
原创 [C++ code] K个一组翻转链表
给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。...
2022-02-10 15:01:33 500
原创 [C++ code]无重复字符串最长字串(unordered_map)
开始力扣吧~无重复字符串最长字串给定一个字符串 s ,请你找出其中不含有重复字符的最长子串的长度。让我捋一遍逻辑:建立一个滑动窗口设置左指针、右指针,两个指针中间的部分是窗口,左右指针最开始先指向最左侧设置一个散列表存储窗口,key为s中的值,value为是否出现在窗口中的判断(1出现、0没出现)设置记录最大长度的数大循环{ 右指针一次向右挪一位,判断新加入到窗口的数字是否在散列表中 { 不在的话,相应位置的value改为1,右指针向右挪一个位置; 在的话,
2022-02-09 23:45:54 630
原创 学Docker(4)
容器和虚拟机的区别虚拟机vritual machine是带环境安装的一种解决方案,它可以在一个操作系统中运行另一个操作系统,对于底层系统来说,虚拟机只是一个普通文件,对底层系统上的应用程序毫无感知、毫无影响。在主操作系统上安装虚拟机,虚拟机上安装从操作系统,虚拟出各种硬件,在从操作系统上部署应用。虽然这是带环境安装的一种解决方案,但它在硬件层面虚拟化,资源占用多、启动慢、冗余步骤多。思考:在主操作系统上想安装三台虚拟机centos7-A,centos7-B,centos7-C,虽然是三台不同的虚拟机
2022-02-04 15:59:25 665
原创 学Docker(3)
仓库管理仓库是集中存放镜像的地方。目前Docker官方维护了一个公共仓库Docker Hub,大部分需求都可以通过在Docker Hub中直接下载镜像来实现。在Docker Hub网页中注册一个账号,登陆后可以在Docker Hub上拉取自己账号下的全部镜像。例如,以ubuntu作为关键字进行搜索,可以得到与之相关的所有镜像。pull可将官方镜像下载到本地:root@*****/# docker pull ubuntupush命令将自己的镜像推送到Docker Hub上。ro
2022-01-19 19:31:41 2040
原创 学Docker(2)
镜像查看本地镜像docker images在镜像仓库获取一个新的镜像docker pull imageName下载好后可以使用这个镜像了docker run imageName删除镜像docker rmi imageName创建镜像:镜像库中下载的镜像不能满足我们的需求时,可以通过下面两种方式对镜像进行修改:1.从已经创建的容器中更新镜像,并提交首先用当前镜像创建一个容器,docker run -it imageName /bin/bash在运行容器内使用apt-get up
2022-01-18 14:47:33 184
原创 学Docker(1)
docker用来解决什么样的问题?当你在自己的计算机上实现了一个炫酷的功能,想发给你远方的小伙伴得瑟一下,却发现他的电脑因为操作系统的不同、配置环境有异或必要的软件、库、插件等缺失,小伙伴根本运行不起来你的代码。这可怎么办呢?别怕!docker来帮你!docker为每一个应用提供了完全隔离的运行环境镜像IMAGE容器CONTAINER仓库REPOSITORY,可以上传push自己做好环境的Docker上去,也可以下载pull云端的镜像到本地。以ubuntu15.1...
2022-01-15 17:38:05 236
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人