自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【Linux基础学习-文件管理day03】

Linux基础-文件操作

2022-09-26 23:04:42 152 1

原创 Linux基础学习-day02

Linux基础命令

2022-09-19 22:58:07 293

原创 Linux基础学习-day01

Linux文件系统入门

2022-09-18 22:40:55 303

原创 1003、检查替换后的词是否有效

题目给定有效字符串 “abc”。对于任何有效的字符串 V,我们可以将 V 分成两个部分 X 和 Y,使得 X + Y(X 与 Y 连接)等于 V。(X 或 Y 可以为空。)那么,X + “abc” + Y 也同样是有效的。例如,如果 S = “abc”,则有效字符串的示例是:“abc”,“aabcbc”,“abcabc”,“abcabcababcc”。无效字符串的示例是:“abccba”,“ab”,“cababc”,“bac”。如果给定字符串 S 有效,则返回 true;否则,返回 false。示

2021-01-12 21:47:07 144

原创 925、长按键入

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

2021-01-12 20:32:13 73

原创 969、煎饼排序

题目给定数组 A,我们可以对其进行煎饼翻转:我们选择一些正整数 k <= A.length,然后反转 A 的前 k 个元素的顺序。我们要执行零次或多次煎饼翻转(按顺序一次接一次地进行)以完成对数组 A 的排序。返回能使 A 排序的煎饼翻转操作所对应的 k 值序列。任何将数组排序且翻转次数在 10 * A.length 范围内的有效答案都将被判断为正确。示例 1:输入:[3,2,4,1]输出:[4,2,4,3]解释:我们执行 4 次煎饼翻转,k 值分别为 4,2,4,和 3。初始状态 A

2021-01-12 20:09:37 80

原创 makefile脚本语言

语法一、显示规则1)目标文件:依赖文件[TAB]指令([TAB]是键位)2)第一个目标文件是我们的最终目标3)#是注释4)伪目标伪目标:.PHONY:#第一个目标文件是最终目标!!!像递归hello:hello.o gcc hello.o -o hellohello.o:hello.s gcc -c hello.s -o hello.ohello.s:hello.i gcc -S hello.i -o hello.shello.i:hello.c gcc -E

2020-12-16 17:10:52 353 1

原创 C/C++编译执行过程

微观的C/C++执行过程C语言 .c ----> .exe过程:1)预处理把.h .c文件展开形成一个文件。宏定义直接替换、头文件库文件直接打开。生成.i文件预处理指令 -E2)汇编.i文件生成汇编代码文件.s汇编指令 -S3)编译.s文件编译成目标代码文件.o编译指令 -c4)链接.o 链接 .exe(windows) .elf(linux)预处理 gcc -E hello.c -o hello.i汇编 gcc -S hello.i -o hello.s编译

2020-12-16 11:31:24 170

原创 可变参数的宏

举例#define LOG(format, …) do { char msg[128];sprintf(msg, format, VA_ARGS);fprintf(stdout, “%s\n”, msg);}while(0)其中,…表示参数可变,__VA_ARGS__在预处理中为实际的参数集所替换在上述定义的宏不能省略可变参数。如果要省略需要在__VA_ARGS__前加###include <stdio.h>#include <stdarg.h>#define

2020-12-09 16:28:47 126

原创 printf、sprintf、fprintf区别

区别都是把格式好的字符串输出,但是输出的目标不一样printf格式:int pintf(const char * format,…)把格式字符串输出到标准输出(一般是屏幕)#include <stdio.h>int main() { printf("hello world\n"); return 0;}sprintf格式:int sprintf(chat* str, const char * format,…)把格式字符串输出到指定字符串中,即st

2020-12-09 15:58:28 137

原创 C++ static关键字作用

C++中static作用总结1、隐藏功能(C/C++)2、静态局部变量(C/C++)3、类成员声明为static(C++)隐藏功能当全局变量和函数声明为static,只能在本文件中可见,对于其他文件不可见。其他文件可以有相同的函数/变量名字,不会冲突。// test.cpp#include <iostream>using namespace std;int n = 10; int add(int a, int b) { return a + b;} int

2020-12-09 14:32:40 137

原创 未定义的引用

未定义的引用对‘evdns_init’未定义的引用错误原因:一般是没有链接库导致的,需要加上-levent

2020-12-08 16:17:53 1068

原创 虚函数与纯虚函数

虚函数与纯虚函数的区别虚函数的作用虚函数的作用基类的指针可以调用子类的该函数,虚函数在基类中必须要实现。纯虚函数在基类中不需要实现,子类中必须实现该函数。虚函数#include <iostrem>using namespace std;class Animal {public: virtual void printClassName() { cout << "Animal" << endl; } };class

2020-12-08 11:16:42 322

原创 17.电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/letter-combinations-of-a-phone-number著作权归领扣网络所有。商业转载请联系官方授权,非

2020-12-02 14:53:06 191

原创 3.无重复字符的字符串

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = “abcabcbb”输出: 3解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3。示例 2:输入: s = “bbbbb”输出: 1解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。示例 3:输入: s = “pwwkew”输出: 3解释: 因为无重复字符的最长子串是 “wke”,所以其长度为 3。请注意,你的答案必须是 子串 的长度,“pwke” 是一个子序列,不是

2020-12-02 10:50:18 497

原创 48.旋转图像

给定一个 n × n 的二维矩阵表示一个图像。将图像顺时针旋转 90 度。说明:你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。示例 1:给定 matrix =[[1,2,3],[4,5,6],[7,8,9]],原地旋转输入矩阵,使其变为:[[7,4,1],[8,5,2],[9,6,3]]示例 2:给定 matrix =[[ 5, 1, 9,11],[ 2, 4, 8,10],[13, 3, 6, 7],[15,14,

2020-12-01 20:08:12 106 1

原创 41.缺失的第一个正数

给你一个未排序的整数数组,请你找出其中没有出现的最小的正整数。示例 1:输入: [1,2,0]输出: 3示例 2:输入: [3,4,-1,1]输出: 2示例 3:输入: [7,8,9,11,12]输出: 1来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/first-missing-positive著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。题解:使用map,将nums作为keyclass Soluti

2020-12-01 20:04:25 53

原创 40.组合总和II

给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解集为:[[1, 7],[1, 2, 5],[2, 6],[1, 1, 6]]示例 2:输入: candidate

2020-12-01 09:53:37 67

原创 39.组合总数

给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入:candidates = [2,3,6,7], target = 7,所求解集为:[[7],[2,2,3]]示例 2:输入:candidates = [2,3,5], target = 8,所求

2020-12-01 09:43:32 87

原创 27.移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。示例 1:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2, 并且 nums 中的前两个元素均为 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,1,2,2,3,0,4,2]

2020-12-01 08:41:00 139

原创 26.删除排序数组中的重复项

给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例 1:给定数组 nums = [1,1,2],函数应该返回新的长度 2, 并且原数组 nums 的前两个元素被修改为 1, 2。你不需要考虑数组中超出新长度后面的元素。示例 2:给定 nums = [0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度 5, 并且原数组 nums 的

2020-11-30 19:54:13 29

原创 18.四位数之和

给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求的四元组集合为:[[-1, 0, 0, 1],[-2, -1, 1, 2],[-2, 0, 0, 2]]来源:力扣(Le

2020-11-30 16:46:37 127

原创 16.最接近的三数之和

给定一个包括 n 个整数的数组 nums 和 一个目标值 target。找出 nums 中的三个整数,使得它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在唯一答案。示例:输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/3sum-closest著作权归领扣网络所有。商业转

2020-11-30 14:58:05 62

原创 11. 盛最多水的容器

给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。示例 1:输入:[1,8,6,2,5,4,8,3,7]输出:49解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例 2:输入:height =

2020-11-30 10:34:57 266

原创 1.two sum

给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + nums[1] = 2 + 7 = 9所以返回 [0, 1]来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/two-sum著作权归领扣网络所有

2020-11-30 09:56:54 100

原创 153、寻找循环数组中的最小值

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/find-minimum-in-rotated-sorted-array-ii假设按照升序排序的数组在预先未知的某个点上进行了旋转。( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。请找出其中最小的元素。注意数组中可能存在重复的元素。示例 1:输入: [1,3,5]输出: 1示例 2:输入: [2,2,2,0,1]输出: 0代码:clas

2020-10-11 20:33:54 437

原创 90、子集II

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subsets-ii给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[[2],[1],[1,2,2],[2,2],[1,2],[]]题解:回溯法class Solution {public: vector<vector<int>> subsetsW

2020-10-10 22:14:06 50

原创 78、子集

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/subsets给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]题解:回溯法class Solution {public: vector<vector<int&gt

2020-10-10 22:10:18 82

原创 28. 实现 strStr

来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/implement-strstr实现 strStr() 函数。给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 (从0开始)。如果不存在,则返回 -1。示例 1:输入: haystack = “hello”, needle = “ll”输出: 2示例 2:输入: haystack = “aaaaa”,

2020-10-10 20:57:18 79

原创 队列

队列什么是队列队列的实现顺序表模拟队列顺序表模拟队列的弊端链表模拟队列总结什么是队列队列是一种线性的数据结构。只允许在头部删除(出队),在尾部插入(入队)。元素遵守先进先出(FIFO)原则。队列的实现顺序表模拟队列 队列三元素:存放数据的数组,头,尾 */typedef struct _queue{ int data[100]; int head; int tail;}queue;int enQueue(queue* q, int num){ q-&

2020-09-05 20:06:05 59

原创 快速排序

快速排序快速排序的思想单路快速排序双路快速排序三路快速排序四、复杂度分析五、三种快速排序算法的比较快速排序的思想快速排序的思想:通过一趟可以将一组元素划分两个部分,一个部分大于基准数,另外一个部分小于基准数。然后再对这两个部分进行排序,典型的分治思想。单路快速排序int partition(int* arr, int l, int r){ int i = 0, j = 0; // 找基准数,随机一个 int t = rand() % (r - l + 1) + l;

2020-09-05 14:47:20 71

原创 冒泡排序

冒泡排序什么冒泡排序代码实现复杂度分析什么冒泡排序冒泡排序的基本思想:比较相邻的两个元素,如果顺序有误就把位置调换。冒泡排序的核心:双重嵌套循环。比如:9 0 8 1 7 2 6 3 (按照从小到大的顺序排列)第一次循环:9先与0进行比较,9 > 0,调换位置,9再与8进行比较,9 > 8,调换位置,以此类推,0 8 1 7 2 6 3 9第二次循环:0与8进行比较,0 < 8,不调换位置,8再与1进行比较,8 > 0,8与1调换位置,以此类推,0 1 7 2 6 3 8

2020-09-05 10:06:43 113

原创 桶排序

桶排序一、什么是桶排序二、桶排序的实现三、复杂度分析四、应用一、什么是桶排序桶排序(Bucket Sort):如果待排序的数字是有范围整数,可以用数组下标与数值一一对应的方法存入数组中,然后按照数组下标输出数据,得到结果就是有序序列。二、桶排序的实现int main(){ int i = 0; const int n = 10; int arr[n] = {9, 0, 8, 1, 7, 2, 6, 3, 5, 8}; int a[n + 1] = {0};

2020-09-05 09:13:58 114

原创 C++

*与++优先级问题前缀递增递减与*的优先级相同,从右向左后缀递增递减的优先级比*的优先级低,从左到右*p++:先执行*p,p再增1*++p:p先增1,再执行*p举例: char arr[] = "abcdefghi"; char* p = arr;*p++:先*p值为a,再p++*++p:p先增1,再执行*p,值为b完整代码:#include <iostream>using namespace std;int main(int argc, const cha

2020-09-01 15:23:16 107

空空如也

空空如也

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

TA关注的人

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