自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 003、移除元素

用两个下标同时遍历数组,一个是scr一个是dst,dst是我们删除元素之后的数组,dst一定是小于scr的,所以可以共用一个数组空间而不损失数据。和上题的思路一样,dst假设就是我新建的一个数组的下标,由于是删除操作,dst一定小于src,所以就用原来的nums的数组空间。数组首元素一定需要,所以从1开始遍历,后面的元素和上一个元素相同就跳过,不同再去给dst。

2024-09-27 00:53:44 154

原创 C语言结构体和联合

联合体和结构体格式基本一样。但联合体的成员变量共享同一块内存空间,对一个成员变量的修改会影响到其他成员变量。int i;

2024-09-20 23:29:50 477

原创 002、序列中删除指定数字

第一个整数代表序列的长度,第二个输入是一个数组,第三个输入是我们要删除的数字。如果数组中有多个该数字要一起删除。

2024-09-20 20:30:43 278

原创 001、旋转数组

尽可能想出更多的解决方案,至少有 三种 不同的方法可以解决这个问题。你可以使用空间复杂度为O(1)的 原地 算法解决这个问题吗?

2024-09-18 22:54:33 199

原创 C语言零基础速通扫雷游戏(下)

对于上面的代码(unsigned int)time(NULL) 第一次看到可能会觉得难以理解, 我第一次看到这段代码的时候也很头大, 但是随着我们系统性地学习C语言之后, 就没那么难了, 现在可以直接当固定搭配记住了就可以了, 这样的代码可以让我产生随机数序列。我们发现上面的代码无论运行多少次, 随机数的序列是不会变的, 要产生真随机数, 就需要一个随机的数来当srand的参数, 可是我们就是因为没有随机数才去用srand函数的啊~~

2024-08-30 23:54:59 920

原创 C语言零基础速通扫雷游戏(上)

1,Visual Studio下载好,创建出 .c 后缀的源文件2. 启动 —— 创建新项目——创建c++空项目——快捷键(CTRL + SHIFT + A)添加新项—— 把文件后缀的 .cpp 改为 .c3.如果用的是搜狗输入法, 建议打开中文时使用英文标点2,复制下面代码在最前面// 是注释, 程序在执行的时候会忽视 //后面的东西, 可以随便写。

2024-08-30 21:31:26 1484

原创 五月集训 DAY13 【双向链表】

430.扁平化多级双向链表你会得到一个双链表,其中包含的节点有一个下一个指针、一个前一个指针和一个额外的 子指针 。这个子指针可能指向一个单独的双向链表,也包含这些特殊的节点。这些子列表可以有一个或多个自己的子列表,以此类推,以生成如下面的示例所示的 多层数据结构 。给定链表的头节点 head ,将链表 扁平化 ,以便所有节点都出现在单层双链表中。让 curr 是一个带有子列表的节点。子列表中的节点应该出现在扁平化列表中的 curr 之后 和 curr.next 之前 。返回 扁平列表的 head 。

2022-05-13 16:11:56 276

原创 五月集训 DAY12 【链表】

1290.二进制链表转整数给你一个单链表的引用结点 head。链表中每个结点的值不是 0 就是 1。已知此链表是一个整数数字的二进制表示形式。请你返回该链表所表示数字的 十进制值 。输入:head = [1,0,1]输出:5解释:二进制数 (101) 转化为十进制数 (5)输入:head = [0]输出:0输入:head = [1]输出:1输入:head = [1,0,0,1,0,0,1,1,1,0,0,0,0,0,0]输出:18880输入:head = [0,0

2022-05-12 20:25:16 251

原创 五月集训 DAY11【矩阵】

1351.统计有序矩阵中的负数给你一个 m * n 的矩阵 grid,矩阵中的元素无论是按行还是按列,都以非递增顺序排列。 请你统计并返回 grid 中 负数 的数目。输入:grid = [[4,3,2,-1],[3,2,1,-1],[1,1,-1,-2],[-1,-1,-2,-3]]输出:8解释:矩阵中共有 8 个负数。输入:grid = [[3,2],[1,0]]输出:0m == grid.lengthn == grid[i].length1 <= m, n <=

2022-05-11 17:20:54 305

原创 五月集训 DAY10 【位运算】

位运算规则(&,|,^)1、按位与“ & ”对应“且”。一假既假,都真才真;一0既0,都1才1。 找到都为1的位置。2、按位或“ | ”对应“或”。一真既真,都假才假;一1既1,都0才0。 找到存在1的位置。3、异或“ ^ ”,相同取0,不同取1。异或,找到相异的位置,所以相异的取1。191.位1的个数编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 ‘1’ 的个数(也被称为汉明重量)。输入:00000000000000000000

2022-05-10 11:20:55 187

原创 五月集训 DAY09【二分查找】

35.搜索插入位置给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为 O(log n) 的算法。输入: nums = [1,3,5,6], target = 5输出: 2输入: nums = [1,3,5,6], target = 2输出: 1输入: nums = [1,3,5,6], target = 7输出: 41 <= nums.length <= 104-104

2022-05-09 18:42:11 476

原创 五月集训 DAY08【前缀和】

1480.一维数组动态和给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。请返回 nums 的动态和。输入:nums = [1,2,3,4]输出:[1,3,6,10]解释:动态和计算过程为 [1, 1+2, 1+2+3, 1+2+3+4] 。输入:nums = [1,1,1,1,1]输出:[1,2,3,4,5]解释:动态和计算过程为 [1, 1+1, 1+1+1, 1+1+1+1, 1+1+1+1+1] 。

2022-05-08 22:51:47 158

原创 五月集训:DAY07【哈希表】

1512.好数对的数目给你一个整数数组 nums 。如果一组数字 (i,j) 满足 nums[i] == nums[j] 且 i < j ,就可以认为这是一组 好数对 。返回好数对的数目。输入:nums = [1,2,3,1,1,3]输出:4解释:有 4 组好数对,分别是 (0,3), (0,4), (3,4), (2,5) ,下标从 0 开始输入:nums = [1,1,1,1]输出:6解释:数组中的每组数字都是好数对输入:nums = [1,2,3]输出:01

2022-05-07 08:05:55 256

原创 五月集训:DAY06【滑动窗口】

1984.学生分数的最小差值给你一个 下标从 0 开始 的整数数组 nums ,其中 nums[i] 表示第 i 名学生的分数。另给你一个整数 k 。从数组中选出任意 k 名学生的分数,使这 k 个分数间 最高分 和 最低分 的 差值 达到 最小化 。返回可能的 最小差值。输入:nums = [90], k = 1输出:0解释:选出 1 名学生的分数,仅有 1 种方法:[90] 最高分和最低分之间的差值是 90 - 90 = 0可能的最小差值是 0输入:nums = [9,4,1

2022-05-06 09:34:55 328

原创 五月集训:DAY 04 [贪心]

1.分割平衡字符串在一个 平衡字符串 中,‘L’ 和 ‘R’ 字符的数量是相同的。给你一个平衡字符串 s,请你将它分割成尽可能多的平衡字符串。注意:分割得到的每个字符串都必须是平衡字符串,且分割得到的平衡字符串是原平衡字符串的连续子串。返回可以通过分割得到的平衡字符串的 最大数量。输入:s = “RLRRLLRLRL”输出:4解释:s 可以分割为 “RL”、“RRLL”、“RL”、“RL” ,每个子字符串中都包含相同数量的 ‘L’ 和 ‘R’输入:s = “RLLLLRRRLR”输出

2022-05-04 09:06:07 128

原创 五月集训:DAY03[排序]

1.有序数组的平方给你一个按 非递减顺序 排序的整数数组 nums,返回 每个数字的平方 组成的新数组,要求也按 非递减顺序 排序。输入:nums = [-4,-1,0,3,10]输出:[0,1,9,16,100]解释:平方后,数组变为 [16,1,0,9,100]排序后,数组变为 [0,1,9,16,100]输入:nums = [-7,-3,2,3,11]输出:[4,9,9,49,121]1 <= nums.length <= 104104 <= nums[i

2022-05-03 22:16:23 458

原创 五月集训:DAY01数组

1.增量元素之间的最大差值给你一个下标从 0 开始的整数数组 nums ,该数组的大小为 n ,请你计算 nums[j] - nums[i] 能求得的 最大差值 ,其中 0 <= i < j < n 且 nums[i] < nums[j] 。返回 最大差值 。如果不存在满足要求的 i 和 j ,返回 -1 。输入:nums = [7,1,5,4]输出:4解释:最大差值出现在 i = 1 且 j = 2 时,nums[j] - nums[i] = 5 - 1 = 4 。

2022-04-30 14:27:30 408

原创 C语言 整形提升

1.数据类型一个字节由8个二进制组成11111111 00001010char 类型是1个字节char a= 10; char b= -1//00001010 //11111111int 类型是4 个字节int a = 10;//00000000 00000000 00000000 00001010int b =-1;//1111111 11111111 111...

2022-04-03 15:49:52 823

原创 C语言C4996错误简单解决方法

1.复制粘贴:#define _CRT_SECURE_NO_DEPRECATE 1或者#pragma warning(disable : 4996)2.修改:把scanf函数修改为scanf_s如果不想每次需要输入scanf都过来复制一遍.VS2019亲测有效.

2022-04-02 09:34:21 8698

原创 我的c语言学习进程(10)

(一)函数的定义: 子程序,语句块,执行特定任务,具有独立性。 函数分为:库函数(写好的函数)和自定义函数(造轮子)。(二)参数: 形参:定义函数时的参数。形式上的参数(摆设),是实参的临时拷贝,不能改变实参。形参不开辟空间,在调用函数后悔自动销毁。 实参:调用函数时的参数。常量,变量,表达式,函数,必须有确定值以便传给形参。 (三)函数的组成:返回类型,函数名,函数参数,函数体。ret_type fun_name(para1, *){ statemen

2022-03-14 23:34:37 760

原创 我的c语言学习进程(9)

找出两个数的最大公约数1.辗转相除法:#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){ int max = 0; int min = 0; scanf("%d %d", &max, &min); if (max < min) //让大数一直是m,小数为n { int a = max; max = min; min = a; } if (0 == (

2022-03-09 22:47:50 214

原创 我的c语言学习进度(8)

小游戏——猜数字#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>#include<string.h>#include<Windows.h>#include<stdlib.h>#include<time.h>void menu(){ printf("***********************************************\n"); printf("**

2022-03-05 00:29:18 5029

原创 我的c语言学习进度(7)

循环结构1.for循环#include<stdio.h>int main(){ int i = 0; for (i = 1; i <= 10; i++) // 不要在for循环体内修改循环变量,防止循环失控 { // if (5 == i) { //break; continue; //跳过5,继续进行i++ } printf("%d \n", i); } return 0

2022-03-04 23:47:46 318 1

原创 我的c语言学习进程(6)

分支结构1.if else分支结构if (表达式) 语句;if(表达式) 语句1;else 语句2;if(表达式1) 语句1;else if 语句2;else if 语句3;else 语句4;2.Switch分支结构#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int main(){ int day = 0; scanf("%d", &day)

2022-03-01 21:57:15 320

原创 我的c语言学习进程(5)

1.习题:1.两个数找出大数(1)答题#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>int max = 0;int BJ(int x,int y){ if (x > y) max = x; else max = y; return 0; }int main(){ int a, b; scanf("%d %d", &a, &b); BJ(a, b);

2022-03-01 18:59:50 219

原创 我的c语言学习进程(4)

1.define定义常量和宏#include<stdio.h>#define MAX 2022 //#define定义常量#define ADD(X,Y) ((X)+(Y)) //#define定义宏,注意括号。int main(){ printf("%d\n", MAX); printf("%d\n", 4 * ADD(2, 3)); return 0;}2.初识指针#include<stdio.h&

2022-03-01 17:11:03 270

原创 我的c语言学习进程(3)

1.常见关键字 typedef 、static(1)typedef类型重命名#include<stdio.h>typedef unsigned int 自己命名;int main(){ unsigned int a = 100; 自己命名 b = 90; printf("行%d里者半%d\n", a, b); return 0;}(2)static 静态的,修饰局部变量、全局变量和函数。#include<stdio.h>//static

2022-03-01 12:21:59 223

原创 gitee的克隆仓库与上传

(一)仓库克隆1.网页搜索:git for Windows,下载这个软件,下载完一路点next默认安装完成。2.在gitte网站建立一个新仓库(名字自拟),配置仓库时要去初始化文件。3.初始化完成后,转到桌面,鼠标右键找到Git Bash Here打开。会弹出一个黑框框。4.在黑框框利输入命令,配置git操作的用户名,邮箱,公钥(无双引号)(1)$ git config --global user.name "你的用户名(个人主页下面的英文名)" 回车...

2022-02-28 21:41:27 3631 1

原创 我的c语言学习进程(2)

1.函数入门一个小加法:#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>Add(int x, int y) //函数的解决办法{ int z = 0; z = x + y; return z;}int main()//加法{ int a = 0; int b = 0; scanf("%d %d", &a, &b); /* int sum = a +

2022-02-27 23:05:29 263

原创 我的学习c语言进程(1)

1.有关vs2019的操作,建设空项目;分为三步:建设空项目——在项目中建源文件(Shift+Ctrl+A)——改名***.c,这样就可以写了!基本第一个程序#inlude<stdio.h>int main(){ printf("hello,world!"); return 0;}2.模拟写代码#include<stdio.h>int main(){ int line = 0; while (line < 30000

2022-02-27 22:49:28 215

空空如也

空空如也

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

TA关注的人

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