主页

mklink命令的使用

前景引入 mklink—符号链接命令 1,创建符号链接的命令格式 2,实际使用示例 3,不会弄的直接下载下面的压缩包 前景引入 今天用我的surfacego3偶然间发现我的C盘vscode的拓展占了整整一个G多的空间,因此产生了一个想法,有没有什么办法能够在不破坏vscode的情况下将拓展迁移到别的盘去,随后我便在网上到处寻找方法,然后我就发现了mklink这样一个很好用的命令。 mklink—符号链接命令 1,创建符号链接的命令格式 mklink "link" "target" 2,实际使用示例 目标:将VSCode的extensions由C盘迁移到D盘的VsCodeExtensions目录 p...

阅读更多

搭建LNMP

Docker搭建LNMP ​ 要使用Docker来搭建LNMP首先要知道Docker是什么? Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 ​ 何为LNMP? LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。 [Linux]是一类Unix计算机操作系统的统称,是目前最流行的免费操作系统。代表版本有:debian、centos、ubuntu、fedora、gentoo等。 Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMT...

阅读更多

罗马数字转整数

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同...

阅读更多

移除元素

给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度 不要使用额外的数组空间,你必须仅使用 O(1) 额外空间并 原地 修改输入数组 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素 void swap(int *a, int *b) { int p = *a; *a = *b; *b = p; } void Mysort(int* nums, int numsSize) { int i = 0; int j = 1; for (int i = 0; i < numsSize; i++) { for (int j = i + 1; ...

阅读更多

搜索插入位置

给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置 请必须使用时间复杂度为 O(log n) 的算法 int searchInsert(int* nums, int numsSize, int target) { int left=0; int right=numsSize-1; while(left<=right) { int middle=left+((right-left)/2); if(nums[middle]>target) { right=middle-1; } ...

阅读更多

两数之和

给定一个整数数组nums和一个整数目标值target,请你在该数组中找出 和为目标值 target的那两个整数,并返回它们的数组下标 你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现 你可以按任意顺序返回答案 int* twoSum(int* nums, int numsSize, int target, int* returnSize) { int *p=(int*)calloc(2,sizeof(int)); *returnSize=2; for(int i=0;i<numsSize-1;i++) { for(int j=i+1;j<numsSize;j++) { ...

阅读更多

加一

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一 最高位数字存放在数组的首位, 数组中每个元素只存储单个数字 你可以假设除了整数 0 之外,这个整数不会以零开头 int* plusOne(int* digits, int digitsSize, int* returnSize) { int* p = (int*)calloc(digitsSize + 1, sizeof(int)); int flag = 0; *returnSize = digitsSize; for (int i = 0; i < digitsSize;i++ ) { p[i] = digits[i]; } ...

阅读更多

清空缓冲区的方法

方法1 使用 fflush(stdin) fflush(stdin) 优点:使用这种方法清除缓冲区,简单快捷,只需将这条语句放入程序的输入语句的前面。 缺陷:但是这个方法有很大缺陷,因为在c语言得标准中没有明确规定这种用法,所以并不是所有的编译器都支持。 如果编译器支持,那么清除缓冲区就很简单了。 如果编译器不支持,它并不会报错,只是执行完这条语句后,缓冲区的内容依然存在。 方法2 使用getchar() getchar() 是带有缓冲区的,每次从缓冲区中读取一个字符,包括空格、制表符、换行符等空白符,只要我们让 getchar() 不停地读取,直到读完缓冲区中的所有字符,就能达到清空缓冲区的效果。请看下面的代码: int c; while((c = getch...

阅读更多