自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(94)
  • 收藏
  • 关注

原创 Linux基本指令

Linux基本指令ls 浏览目录中的内容,默认浏览当前所在目录 (目录=文件夹)当第一次打开终端时,默认会处于一个目录下,这个目录称之为家目录(每个用户都有一个)ls -a:查看所有文件,包括隐藏文件(Linux下以 . 命名开头的文件都是隐藏文件)ls -l:查看文件的长信息,详细信息。浏览当前目录下文件的详细信息drwxrwxr-x. 4 dev dev 52 2月 12 2019 install文件类型 文件权限 链接数 用户名 所属组 大小d:7种文件类型-目录类型的文件=文件夹

2021-03-09 13:23:17 160

原创 最短无序连续子数组

题目:给定一个整数数组,你需要寻找一个连续的子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。找到的子数组应是最短的,请输出它的长度。示例 :输入: [2, 6, 4, 8, 10, 9, 15]输出: 5对 [6, 4, 8, 10, 9] 进行升序排序,那么整个表都会变为升序排序。class Solution {public: int findUnsorted...

2020-02-01 14:27:00 327

原创 验证回文串

题目:给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。说明:将空字符串定义为有效的回文串,需要注意测试用例:示例 1:输入: “A man, a plan, a canal: Panama”输出: true示例 2:输入: “0P”输出: false需要注意此测试用例(数字0的ASCLL为48, P的ASCLL为80)示例 3:输入: “.,...

2020-02-01 13:59:24 258

原创 在排序数组中查找元素的第一个和最后一个位置

题目:给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。要求:算法时间复杂度必须是 O(log n) 级别。如果数组中不存在目标值,返回 [-1, -1]。class Solution {public: vector<int> searchRange(vector<int>& nums, ...

2020-01-31 21:07:18 202

原创 字符串转换整数

题目:实现一个函数,使其能将字符串转换成整数。需要注意以下几点:①:该函数会根据需要丢弃无用的开头空格字符,直到寻找到第一个非空格的字符为止。②:当第一个非空字符为正或者负号时,则将该符号与之后面尽可能多的连续数字组合起来,作为该整数的正负号;假如第一个非空字符是数字,则直接将其与之后连续的数字字符组合起来,形成整数。③:该字符串除了有效的整数部分之后也可能会存在多余的字符,这些字符可以...

2020-01-31 20:02:21 245

原创 二进制求和

题目:给定两个二进制字符串,返回他们的和(用二进制表示)。输入为非空字符串且只包含数字 1 和 0。class Solution {public: string addBinary(string a, string b) { if(b.size() > a.size()) swap(a, b); int a_pos = a.size() - 1, b_pos = b.siz...

2020-01-30 21:38:46 124

原创 两数之和

题目:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。说明:假设每种输入只会对应一个答案,但是,不能重复利用这个数组中同样的元素。class Solution {public: vector<int> twoSum(vector<int>& nums, int target) {...

2020-01-30 20:47:37 97

原创 最后一个单词的长度

题目:给定一个仅包含大小写字母和空格 ’ ’ 的字符串 s,返回其最后一个单词的长度。如果不存在最后一个单词,请返回 0 。说明:若字符串最后有空格,需要跳过空格找最后一个单词。class Solution {public: int lengthOfLastWord(string s) { int size = s.size(), num = 0; while (s[size ...

2020-01-30 20:13:53 128

原创 第三大的数

题目:给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。示例 1:输入: [1, 2]输出: 2示例 2:输入: [2, 2, 3, 1]输出: 1class Solution {public: int thirdMax(vector<int>& nums) { int i, size = nu...

2020-01-30 13:17:57 189

原创 非负整数加一

题目:给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。说明:最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。除了整数 0 之外,这个整数不会以零开头。class Solution {public: vector<int> plusOne(vector<int>& digits) { int pos = digits.si...

2020-01-29 13:08:22 370

原创 定义和使用结构体变量

一、自己建立结构体类型1.C语言中允许用户自己建立由不同类型数据组成的组合型的数据结构,它成为结构体。2.一般形式struct 结构体名{成员列表};3.结构体类型的名字是由一个关键字struct和结构体名组成而成的。4.花括号内是该结构体所包含的子项,成为结构体的成员。5.对各个成员都应该进行类型声明,即:类型名 成员名。成员表列也称为域表,每一个成员是结构体中的一个域。6.成...

2020-01-29 12:36:20 2582

原创 合并两个有序数组

题目:给定两个有序整数数组 nums1 和 nums2,将 nums2 合并到 nums1 中,使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例:nums1 = [1,2,3,0,0,0], m = 3nums2 = [2,...

2020-01-28 20:13:17 130

原创 按奇偶排序数组

题目:给定一个非负整数数组 A,返回一个数组,在该数组中, A 的所有偶数元素之后跟着所有奇数元素。示例:输入:[3,1,2,4]输出:[2,4,3,1] ,[4,2,3,1],[2,4,1,3] 和 [4,2,1,3] 都正确。class Solution {public: vector<int> sortArrayByParity(vector<int>&...

2020-01-28 12:45:32 182

原创 仅仅反转字母

题目:给定一个字符串 S,返回 “反转后的” 字符串,其中不是字母的字符都保留在原地,而所有字母的位置发生反转。示例 :输入:“a-bC-dEf-ghIj”输出:“j-Ih-gfE-dCba”class Solution {public: bool IsLetter(char tmp){ return (tmp >= 'a' && tmp ...

2020-01-28 12:05:49 135

原创 有序数组的平方

题目:给定一个按非递减顺序排序的整数数组 A,返回每个数字的平方组成的新数组,要求也按非递减顺序排序。示例 :输入:[-4,-1,0,3,10]输出:[0,1,9,16,100]class Solution {public: vector<int> sortedSquares(vector<int>& A) { int i; ...

2020-01-26 22:08:08 117

原创 长按键入

题目:你的朋友正在使用键盘输入他的名字 name。偶尔,在键入字符 c 时,按键可能会被长按,而字符可能被输入 1 次或多次。你将会检查键盘输入的字符 typed。如果它对应的可能是你的朋友的名字(其中一些字符可能被长按),那么就返回 True。示例 1:输入:name = “saeed”, typed = “ssaaedd”输出:false示例 2:输入:name = “leele...

2020-01-26 21:51:32 176

原创 存在重复元素

题目:给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。class Solution {public: bool containsDuplicate(vector<int>& nums) { set gather(nums.begin(), nums.end...

2020-01-26 20:56:32 148

原创 赎金信

题目:给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。class Solution {public: bool canConstruct(string ransomNote, string magazine) { ...

2020-01-18 19:54:41 228

原创 搜索插入位置

题目:给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。你可以假设数组中无重复元素。class Solution {public: int searchInsert(vector<int>& nums, int target) { int i; for(i = ...

2020-01-16 21:01:56 162

原创 旋转数组

题目:给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。要求输入: [1,2,3,4,5,6,7] 和 k = 3输出: [5,6,7,1,2,3,4]向右旋转 1 步: [7,1,2,3,4,5,6]向右旋转 2 步: [6,7,1,2,3,4,5]向右旋转 3 步: [5,6,7,1,2,3,4]class Solution {public: vo...

2020-01-16 20:41:01 149

原创 移除元素

题目:给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。要求:不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。class Solution {public: int removeElement(vector<int&g...

2020-01-16 20:31:18 118

原创 参数解析

题目描述在命令行输入如下命令:xcopy /s c:\ d:\,各个参数如下:参数1:命令字xcopy参数2:字符串/s参数3:字符串c:参数4: 字符串d:请编写一个参数解析程序,实现将命令行各个参数解析出来。解析规则:1.参数分隔符为空格2.对于用“”包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s “C:\program files”...

2019-11-22 19:48:09 215

原创 Const参数,Const变量

const可以修饰变量,修饰函数的参数、返回值,甚至函数的定义体。1.const修饰函数的参数const可以修饰传入参数,防止传入参数被修改,起到保护的作用。但是如果是“值传递”,则无需用const修饰。因为函数会自动产生临时变量用于复制该参数。void func(int x){}//就不用写成void func(const int x)对于非内部数据类型的参数而言,像void fun...

2019-11-18 14:14:08 628

原创 在字符串中找出连续最长的数字串

输入描述:输入一个字符串。输出描述:输出字符串中最长的数字字符串和它的长度。如果有相同长度的串,则要一块儿输出,但是长度还是一串的长度示例:输入 abcd12345ed125ss123058789输出 123058789#include <iostream>#include <string>using namespace std;string lo...

2019-11-17 21:49:36 123

原创 野指针

野指针是指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单地判断是否为 NULL避免,只能通过养成良好的编程习惯来尽力减少。“野指针”不是NULL指针,是指向被释放的或者访问受限的垃圾内存的指针。“野指针”是很危险的,if无法判断一个指针是正常指针还是“野指针”。野指针的成因主要有三种:一、 指针变量没有被初始化。任何指针变量刚被创建时不会自动成为NULL...

2019-11-17 20:45:09 249

原创 十进制进行转换

题目描述给定一个十进制数M,以及需要转换的进制数N。将十进制数M转化为N进制数输入描述:输入为一行,M(32位整数)、N(2 ≤ N ≤ 16),以空格隔开。输出描述:为每个测试实例输出转换后的数,每个输出占一行。如果N大于9,则对应的数字规则参考16进制(比如,10用A表示,等等)示例输入 7 2输出 111#include <iostream>#includ...

2019-11-13 13:29:37 273

原创 统计回文

“回文串”是一个正读和反读都一样的字符串,比如“level”或者“noon”等等就是回文串。有两个字符串A,B,将字符串B插入字符串A使产生的字符串是一个回文串。请问有多少方法,可以使新串是一个回文串。例如:A = “aba”,B = “b”。这里有4种把B插入A的办法:在A的第一个字母之前: “baba” 不是回文在第一个字母‘a’之后: “abba” 是回文在字母‘b’之后: “...

2019-11-12 12:44:17 118

原创 计算糖果

题目描述:A,B,C三个人是好朋友,每个人手里都有一些糖果,我们不知道他们每个人手上具体有多少个糖果,但是我们知道以下的信息:A - B, B - C, A + B, B + C. 这四个数值.每个字母代表每个人所拥有的糖果数.现在需要通过这四个数值计算出每个人手里有多少个糖果,即A,B,C。这里保证最多只有一组整数A,B,C满足所有题设条件。解法一:int main(){ i...

2019-11-11 19:32:36 135

原创 数组中出现次数超过一半

解题思路:数组中出现次数超过一半,将数组进行排序,如果存在这个数的话这个数一定出现在数组中间位置。取出中间数据,将数组遍历一遍,数出此数据出现的次数。若次数超过一半,则返回此数,否则返回0。class Solution {public: int MoreThanHalfNum_Solution(vector<int> numbers) { sort(numbers.begi...

2019-11-09 16:04:27 111

原创 倒置字符串

输入描述:I like beijing. 输入用例长度不超过100输出描述:依次输出倒置之后的字符串,以空格分割示例:输入 : I like beijing.输出 : beijing. like I#include <iostream>#include <string>using namespace std;int main(){ string st...

2019-11-09 14:18:55 165

原创 删除公共字符,输入两个字符串,从第一字符串中删除第二个字符串中所有的字符。

例如:输入“They are students.” 和 “aeiou”,则删除之后的第一个字符串变成“Thy r stdnts.”输入描述: 每个测试输入包含2个字符串。输出描述: 输出删除后的字符串 。示例:输入They are students. 和 aeiou 输出 Thy r stdnts.#include <iostream>#include <string...

2019-11-08 23:46:43 639

原创 牛牛举办了一次编程比赛,参加比赛的有3*n个选手,每个选手都有一个水平值a_i,现在要将这些选手进行组队,组成n个队伍,即每个队伍3人.该队伍的水平值等于该队伍中第二高水平值。

例如:一个队伍三个队员的水平值分别是3,3,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是3,2,3.那么队伍的水平值是3一个队伍三个队员的水平值分别是1,5,2.那么队伍的水平值是2为了让比赛更有看点,牛牛想安排队伍使所有队伍的水平值总和最大。如样例所示:如果牛牛把6个队员划分到两个队伍 如果方案为:team1:{1,2,5}, team2:{5,5,8}, 这时候水平值总...

2019-11-08 23:04:14 665

原创 C语言中 int*p[4] 和 int(*p)[4]的区别

int * p[4] ://定义一个指针数组,该数组中每个元素是一个指针,每个指针指向哪里就需要程序中后续再定义了。int(*p)[4]: //定义一个数组指针,该指针指向含4个元素的一维数组(数组中每个元素是int型)。右左原则:变量先跟右侧结合,再跟左侧结合。int * p[4]:变量p先跟右侧结合,所以他是一个数组,再跟左侧结合,所以是指针数组。int(*p)[4]:变量p先跟解...

2019-11-08 21:27:45 1970

原创 C语言中%s,%m.ns 和 %e,%m.ne 的意思

在C语言中%s用来输出字符串。%m.ns 表示的是,输出占m列,但是只取出字符串的n各字符,将n个字符显示在m列的右侧,而m列的左侧补空格。%e将数据按指数形式输出。%m.ne 表示的是,输出占m列,其中指数形式占5位(e+003),小数部分占n位,一共占15列,数据居右,左侧补空格。#include <iostream>#include <cstdio>us...

2019-11-08 21:11:27 6994

原创 智能指针

智能指针当一个函数中出现大量的return,那么在每一次return前都要将new出来的变量进行delete,这种操作非常麻烦而且容易出错,还容易造成内存碎片,智能指针就是用来解决这种问题的。智能指针是一个类模板,主要功能是假装自己是一个指针,重载解引用和 ->,通过析构函数自动释放指针,解决上面的问题。智能指针就是更加方便,安全的使用临时new出来的变量或对象的。1、auto_pt...

2019-11-05 23:05:26 118

原创 Linux的基础操作(2)

1、echoa.echo加上 >,可以将字符串重定向到文件当中2、cata.作用:是可以查看文件中的内容b.cat/dev/null > filename 可以重定向filename这个文件为空文件3、morea.作用:查看文件内容b.向下查看:空格键,fc.向上查看:bd.查看是哪个文件 “: f”e.退出就是 “q”f.more + (num) 行数 file...

2019-10-13 20:20:08 203

原创 逆波兰表达式求值

根据逆波兰表示法,求表达式的值。有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。说明:整数除法只保留整数部分。给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。示例 :输入: [“2”, “1”, “+”, “3”, “*”]输出: 9解释: ((2 + 1) * 3) = 9示例 :输入: [...

2019-10-11 21:28:23 132

原创 判断是否为栈的弹出序列

输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序,序列4,5,3,2,1是该压栈序列对应的一个弹出序列,但4,3,5,1,2就不可能是该压栈序列的弹出序列。(注意:这两个序列的长度是相等的)解题思路:容器pushV存放压入顺序,容器popV存放出栈顺序遍历容器pushV,使元素压入...

2019-10-11 20:56:24 169

原创 C++--deque

1、deque的实现:动态二维数组:二级指针先给第一维分配空间,也就是分配n个一级指针的空间,然后再给里面的每个一级指针分配空间,这样就形成了一个动态二维数组deque只给第一维分配空间,然后找到正中的位置pos(保证向前向后都有足够大的空间),然后给该位置分配空间当这个空间向后用完的时候,pos加一,然后给新的pos申请空间,使用新的pos继续存储。向前类似。*向前存储会从后向前存储...

2019-10-11 19:48:02 298

原创 两个栈实现队列

两个栈实现队列解题思路:进队列时,将元素压入栈Stack1出队列时,将栈Stack1中的元素出栈压进Stack2中,当栈Stack1剩余一个元素时,将栈Stack1的元素pop最后将栈Stack2的元素一个个的压入栈Stack1中取队顶元素时,输出要pop的元素取队尾元素时,直接取栈顶元素#include <iostream>#include <stack>...

2019-10-11 19:23:53 72

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除