- 博客(46)
- 资源 (1)
- 收藏
- 关注
原创 代码随想录算法训练营第九天|151.翻转字符串里的单词,卡码网:55.右旋转字符串,28. 实现 strStr(),459.重复的子字符串
单词的顺序颠倒而不是单词的内部字符颠倒。所以我的思路是双指针思想,这一次快慢指针指向字符串的末尾,向前移直到快指针读到空格,再回头读到慢指针。写入的指针指向新数组开头,快指针顺序读取单词字母时,写入指针以此写入.下面两题需要对KMP有一定了解和熟悉,可以先跳过,那我就跳过了,嘿嘿。想和写果然是两码事,我的循环嵌套怎么还要嵌套才能实现。移除多余空格 : “the sky is blue”源字符串为:"the sky is blue "单词反转:“blue is sky the”善用库函数(bushi)
2024-06-22 09:28:05
380
原创 代码随想录算法训练营第八天|344.反转字符串,541. 反转字符串II,卡码网:54.替换数字
字符串在参加训练营之前就已经看过了,在已有的知识基础上去理解讲解,很快。现在来自己做一下。
2024-06-21 06:52:38
510
原创 代码随想录算法训练营第六天(前一天休息)|哈希表理论基础 ,242.有效的字母异位词,349. 两个数组的交集, 202. 快乐数,1. 两数之和
首先,什么情况下用哈希表?
2024-06-20 06:59:37
378
原创 代码随想录算法训练营第四天 |24. 两两交换链表中的节点 ,19.删除链表的倒数第N个节点, 面试题 02.07. 链表相交,142.环形链表II
自己先思考了一个,while之前是对的(笑死)。while写完运行超时了。即第一个第二个换,第三个第四个换……
2024-06-18 13:03:16
202
原创 代码随想录算法训练营第三天 | 203.移除链表元素, 707.设计链表, 206.反转链表
过去学C语言的时候,我觉得最简单,学得最好的就是指针那一part,可能结构体还有些许疑惑,不过进入链表之后,光看理论觉得还是比较简单。此为前话,待会看题可能就不觉得自己过去的感觉对了。嘿。
2024-06-08 01:48:15
250
原创 代码随想录算法训练营第二天 |977.有序数组的平方 ,209.长度最小的子数组 ,59.螺旋矩阵II ,总结
今天是第二天,关于数组的知识点学习又学到新东西了,而且我发现vector动态容器确实比数组灵巧很多。需要培养这种意识。第一题是。
2024-06-07 01:25:12
351
原创 代码随想录算法训练营第一天 | 704. 二分查找,27. 移除元素
如果右边是开的,因为不会取到nums.size()位的内容,因此无需多-1。大概能够理解了,我的思路是找到符合目标的元素,然后将后一位的数字向前覆盖,但实际上,和之前的暴力覆盖是一个意思,而且出现了值重复的问题。同理,middle的变值也是看开合,闭区间时,middle若不符合目标元素,那必然是无用的,所以要额外将right-1或者left+1。②自己预设好区间的开合,并根据开合设置left和right的初始值,以及middle的赋值。看到双指针之后,自己觉得会了,写了个 ,但是运行出错了。
2024-06-06 00:43:10
228
1
原创 来讨论一个问题,我大概是把自己绕进去了
/问题是约瑟夫环,报到对应的数字的人出圈并且输出该人的序号。4,这明显不对,我的1跑哪了呢?我输入的8 3,运行结果是3。
2024-01-13 17:02:30
461
2
原创 字符串循环移位包含问题(移位操作为:将一个字符串的第一个字符移到末尾形成新的字符串)
比如ABDDC的进行字符串移位,无非是BDDCA、DDCAB、DCABD、……但是ABDDC一定是第一轮移位结束的最终结果!个人觉得很有意思,在思维养成过程中,经常会出现使用最简单的思考方式而不是采用最简单的解决方法,此话何解?实际上输入的要求或许并不需要管,题目里又没让判断,只是让我们输入时候注意点。字符串的移位判断也很简单——按照过去我的思考方式,我会提取关键词“只包含”,“不超过”,“循环移位”,“子串”,然后再在我的代码里。这种思考方式虽然简单直接,但是太垃圾了,非常没有效率,消耗空间。
2024-01-02 08:08:18
623
原创 不同领域的习惯
【大部分元素是0的矩阵称为稀疏矩阵,假设有k个非0元素,则可以把稀疏矩阵用k*3的矩阵进行简记,其中,第一列是非0元素所在行的行号,第二列是非0元素所在列的列号,第三行是非0元素本身的值】看信奥赛书的时候,发现稀疏矩阵转简记形式的元素读入从i=1开始,虽然控制住了矩阵的行数和列数,和我从0开始进行i的增加无二,但属实迷惑了。在编程语言中,数组和矩阵通常从1开始,因为数学中都是从1开始,因此编程从1开始符合人们对矩阵拥有的惯常的数学理解和使用习惯。
2024-01-01 15:18:02
388
原创 在cmd中运行adb不成功的原因
**在cmd中运行adb不成功的原因**1、你从网上复制的加入path变量的语句中有空格,所以请仔细检查2、注意加入path变量时是否需要添加分号以及个人是否任伟增加了空格之类的具体的检查可以在cmd中输入"path"看环境配置,当path呈现出来的时候,仔细观察一下有何地方与前面标准的路径有差异的,比如加了引号“”,可能就是你的两个路径没有分开添加。是个考眼力的活啊呜呜呜...
2021-03-11 10:16:25
2738
1
原创 n个学生围成圈,报到3的学生被淘汰,最后剩下的学生编号是几号?
#include <stdio.h>#include <stdlib.h>void main(){ int a[100]; int n,i,*p,sum = 0,num,k; printf("有多少个人围成了圈?"); scanf("%d",&n); k = n; for(i=0;i<n;i++) a[i]=i+1; //赋...
2020-04-26 09:39:09
292
原创 递归的方式将整数转换为字符串输出
#include <stdio.h>#include <stdlib.h>void main(){ int num; void pnum(int n); printf("输入一个整数:"); scanf("%d",&num); pnum(num);}void pnum(int n){ int i = 10; if(n/i !=...
2020-04-26 08:42:40
1021
原创 汉诺塔问题(递归思想)
#include <stdio.h>#include <stdlib.h>/*塔中有A、B、C三座塔,开始时A座上有64个盘子,盘子大小不等,大的在下,小的在上。老和尚想把A座上的盘子全部移到C座上,但每次只允许移动一个盘,且在移动过程中三个座上始终保持大盘在下,小盘在上的顺序,移动过程中可以利用B座。写程序输出移动步骤*/int sum = 0; void...
2020-04-26 08:06:20
328
原创 生成魔方阵
魔方阵即奇数阶矩阵的各行各列每个对角线数字之和相等。仔细观察可以发现数字排列规则,以下代码中会做注释#include <stdio.h>#include <stdlib.h>void main(){ int a[20][20]={0}; int i=0,j,n,num=1,sum; int k,m; printf("输入矩阵阶数"); scanf("...
2020-04-19 09:04:47
554
原创 输出10行杨辉三角形
#include <stdio.h>#include <stdlib.h>void main(){ int a[10][10]; int i,j; a[0][0]=1; for(i=1;i<10;i++) { for(j=0;j<=i;j++) { a[i][0]=1; if(i==j) a[i][j]=1; ...
2020-04-19 08:10:56
809
原创 求3*3矩阵对角线的数字之和
#include <stdio.h>#include <stdlib.h>void main(){ int a[3][3]; int i,j,sum=0; printf("输入9个数字"); for(i=0;i<3;i++) { for(j=0;j<3;j++) { scanf("%d",&a[i][j]); }...
2020-04-19 08:04:26
475
原创 写一个函数char *linkstr(char *str0 char *str1),将两个字符串str0和str1连接起来
#include<stdio.h>#include<string.h>char *linkstr(char *str0, char *str1){ char *s1 = str0,*s2 = str1,*s0; char s[1000]; s0 = s; while (*s1 != '\0') { *s0 = *s1; s0++; s1++;...
2020-04-16 09:01:23
566
原创 加密:从s1字符串中每取一个字符,在CS表中查找有无该明码字符, 若有,将对应密码字符放入s2中,若无,直接将原字符放入s2中
#include<stdio.h>#include<string.h>char CS[2][10] = { "aceghjlnp","fonptiude" };void encode(char array1[80], char array2[80]){ char *p, *pt, *cs1, *cs2; p = array1; pt = array2;...
2020-04-16 08:58:10
247
原创 保留file1中的字母和数字,将其他非字符转换成% 并转存到file2中
#include<stdio.h>#include<stdlib.h>void main(){ FILE *fp, *tp; errno_t err; char c; if (err = fopen_s(&fp, "E:\\file\\from.txt", "r")) { printf("open error!"); return; }...
2020-04-16 08:50:07
165
原创 2018年1月1日是星期一。每年五月的第二个星期日是母亲节。 求出2018-2020的每年母亲节的日期。
#include<stdio.h>void main(){ int day, year; int days = 0; int k, loop; int judgeloop(int year); for (year = 2018; year <= 2020; year++) { loop = judgeloop(year); if (loop == 1...
2020-04-16 08:42:33
1246
5
原创 汉诺塔问题:有若干大小不一的石盘按照从小到大顺序叠在A塔座上,借助B塔座将所有石盘移到C, 每次只允许移动一个石盘,且始终保持小盘在上,大盘在下,请问要移动多少次? 递归函数解决
#include<stdio.h>int hanno(int n,char one, char two, char three)/*括号中形参的意思是,借助two将n个 石盘从one上移动到three上,所以写程序的 时候不要太死板了,好吗。本题值得再三 的看和体会*/{ static int ...
2020-04-15 11:02:16
424
原创 有1,2,3,4四个数字,能组成多少个互不相同且无重复的三位数?都是多少
#include<stdio.h>void main(){ int a = 1, b = 1, c = 1; int num,cont = 0; printf("组成的数字如下:\n"); for (a = 1; a < 5; a++) { for (b = 1; b > 0 && b < 5; b++) { for (c...
2020-04-15 10:59:26
698
原创 输出9*9口诀表
#include<stdio.h>void main(){ int c[10][10]; int i, j; c[0][0] = 0; printf(" "); //空出c[0][0]位置 for (i = 1; i < 10; i++) { c[0][i] = i; printf("%4d", c[0][i]); } print...
2020-04-15 10:56:11
446
原创 有一对兔子,从出生后第三个月起每个月生一对小兔子,小兔子长到 第三个月又开始生一对小兔子。问如果兔子不死,每个月的兔子是多少对
#include<stdio.h>void main(){ int i; int a[100]; int month; printf("输入月数:"); scanf_s("%d", &month); a[0] = 1; a[1] = 1; a[2] = 2; for (i = 3; i < month; i++) { a[i] = a[i...
2020-04-15 10:53:53
2036
原创 打印出所有水仙花数,所谓水仙花数,就是指一个三位数, 其各位数字立方和等于本身
#include<stdio.h>void main(){ int a, b, c; int k; for (a = 1; a < 10; a++) { for (b = 0; b < 10; b++) { for (c = 0; c < 10; c++) { k = a * 100 + b * 10 + c; i...
2020-04-15 10:52:15
3094
2
原创 输入两个正整数,输出它们的最大公约数和最小公倍数
#include<stdio.h>void main(){ int m, n; int max, min; int s1, s2; printf("输入两个不相等的正整数:"); scanf_s("%d%d", &m, &n); if (m > n) { max = m; min = n; } if (m < n) {...
2020-04-15 10:49:47
8754
原创 一个球从一百米高度自由落下,每次落地后反跳回原高度的一半,再落下; 求它在第十次落地时共经过多少米
#include<stdio.h>void main(){ float a[10],s=0.0; int i; a[0] = 100; a[1] = 50; for (i = 2; i < 10; i++) { a[2 * i - 1] = a[2 * i - 3] / 2; a[2 * i - 2] = a[2 * i - 3]; } for (...
2020-04-15 10:46:35
1406
原创 两个乒乓球队进行比赛,各出三人。甲队为a,b,c,乙队为x,y,z。 a说不和x比,c说不和x,z,比,找出三队赛手的名单
#include<stdio.h>void main(){ char i, j, k;//代表a,b,c for (i = 'x'; i <= 'z'; i++) { for (j = 'x'; j <= 'z'; j++) { if (i != j) { for (k = 'x'; k <= 'z'; k++) {...
2020-04-15 10:44:59
633
原创 利用递归函数调用方式,将所输入的5个字符,以相反的顺序输出
诶,看到曾经敲的这个代码(抄别人的)才知道自己最近真的又被递归给搞懵逼了#include<stdio.h>void main(){ int i=5; void rep(int n); printf("\40:"); rep(i); getchar(); getchar();}void rep(int n){ char next; if (n <=...
2020-04-15 10:42:19
1382
2
原创 给一个不多于5位的正整数,求它是几位数并逆序打印出各位数字
#include<stdio.h>void main(){ int n; int a, b, c, d, e; printf("输入一个不超过五位的数字"); scanf_s("%d", &n); while (n > 99999) { printf("输入的数字超过五位数,请重新输入:"); scanf_s("%d", &n); }...
2020-04-15 10:37:14
2386
1
原创 有n个整数,使其前面各数顺序向后移动m个位置,最后m个数变成最前面m个数
#include<stdio.h>void main(){ int a[100]; int i,j,n, m; printf("输入数字个数以及你想移动的数字个数:"); scanf_s("%d%d", &n, &m); j = n; for (i = 0; i < n; i++) { printf("第%d个数:", i + 1);...
2020-04-15 10:34:56
1314
1
原创 以递归方式逆序输出数字
递归贼烂,超容易搞糊涂的,我也不知道写的是不是递归,哪位熟手看见这个帖子的话发发好心评论一下应该咋写#include <stdio.h>#include <stdlib.h>void main(){ int num[100]; int i=0,j,n; void resort(int array[],int n); printf("输入整数(最多...
2020-04-15 10:14:05
1435
原创 公鸡5块一只,母鸡3块一只,小鸡1块3只,100元有怎样的买法
#include <stdio.h>#include <stdlib.h>void main(){ int gj,mj,xj; for(gj=0;gj<20;gj++) { for(mj=0;mj<34;mj++) { xj = (100-gj*5-mj*3)*3; if(gj+mj+xj == 100) printf("公...
2020-04-15 10:07:40
2001
原创 三维坐标求两点距离
简单粗暴点#include <stdio.h>#include <stdlib.h>#include <math.h>void main(){ double x1,y1,z1,x2,y2,z2; double leng,disn1,disn2,disn3; printf("输入两点的三维坐标:\n"); printf("x1="); ...
2020-04-15 10:04:35
5566
原创 几组字符串进行排序后输出
#include <stdio.h>#include <stdlib.h>#include <string.h>void main(){ char str[100][50]; char c; int i=0,j=0,m,n; void sorted(char array[][50],int n); printf("输入字符串(以#结束)...
2020-04-15 10:00:15
203
原创 统计文件内单词个数
#include <stdio.h>#include <stdlib.h>void main(){ char fname[]="text.txt"; char arti[100]; int i,sum = 0,k = 0,n,j; FILE *fp; if((fp = fopen(fname,"r")) == NULL) { printf("...
2020-04-15 09:54:45
286
原创 输入学生学号、姓名、三科成绩计算出平均分保存至指定文件中
#include <stdio.h>#include <stdlib.h>#define leng sizeof(struct Student)struct Student{ int snum; char sname[20]; float s1,s2,s3; float aver;}stu[5];void main(){ FILE *tp; i...
2020-04-15 09:50:29
2746
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人