- 博客(32)
- 资源 (2)
- 问答 (26)
- 收藏
- 关注
原创 代码随想录算法训练营 day13
/如果能移除最前面的,说明最后面的新元素可以加入,这样就能保证每次队列里面都有三个数参与过,只是有些数因为不满足条件而未被写进去.res[index++]=myQueue.peek();//这里就存放了第一个最大值。如果不用数据结构,用双指针也可以解决,那要用数据结构的话,用什么类型的数据结构呢?//弹出元素时,要保证该元素是最大值且队列不为空。//添加元素时,保证该元素比末尾的元素值大。//将第一扇窗口里面的数字放入队列。// 创建一个单调递减的队列。
2023-02-13 22:01:44
215
原创 代码随想录算法训练营 day11
/之所以是这么写,是因为要满足出栈后的计算表达式也和原来的数组里面的顺序一致,不然结果就不一样了。//之所以是这么写,是因为要满足出栈后的计算表达式也和原来的数组里面的顺序一致,不然结果就不一样了。//取出每一个符号,判断是不是规定的符号,是, 则在栈中存储与之对应的右括号,//栈空了[右边括号多了],或者不满足匹配,结束循环。que1.isEmpty())//que1不为空。//满足匹配,就出栈。// 删除并返回队头元素。
2023-02-11 22:50:04
367
原创 代码随想录算法训练营 day10
比如 'aaba' 去头计算和去尾计算,前缀aab && 后缀aba,相同的只有前者的首和后者的尾的字母a,所以最长相同前后缀长度:1。比如 'aab' 去头计算和去尾计算,前缀aa && 后缀ab,这里一开始a b都不相同 所以最长相同前后缀长度:0。//因为j走到后面,不能只回退一次嘛,它必须在回退的过程中逐一比较,求出最长相同前后缀的值。比如 'aa' 去头计算和去尾计算,都是只留下一个字母a,所以最长相同前后缀长度:1。比如 'a' 去头计算和去尾计算,都是啥也不剩,所以最长相同前后缀长度:0。
2023-02-11 11:23:57
337
原创 代码随想录算法训练营 day09
/这句话不能写在反转函数里面。//if判段条件是:1--字母直接放;2--遇到空格,判断上个字母是不是空格,是[跳过],不是[加入];//这里的起始位置不能写0,应该写可变量!//第一步 去除多余空格。//找到一个单词的结束位置。//第二步 翻转字符串。//准备下一个开始的位置。//第三步 翻转单词。//这里用循环去除首尾空格。//这里去除中间多余的空格。//1--翻转n之前的字符串。//2--翻转n之后的字符串。
2023-02-10 09:57:11
291
原创 代码随想录算法训练营 day8
思路就是,写一个for循环,从第二个元素开始遍历, 匹配值[目标值-nums[i]]是否存在于hashmap数组中,存在就输出,结束循环,反之将它存在hashmap数组中,继续遍历.最后还没找到就输出空数组即可。代码里面,哈希表的长度是len,我觉得应该和题目的设定有关系,题目要求的是有且只有一个解答.最坏的情况就是在最后一个元素才匹配成功,那最后一个元素就不需要存入哈希数组里面了,所以长度最多也是原数组-1.//反之创建一个新的对象,复制字符串s,在过程中对其判断是否含有空格。//第一组相加存入数组。
2023-02-08 23:37:11
587
原创 代码随想录算法训练营 day02
看了文章的文字描述和动画演示,我就去自己实操,哈哈,问题来了,数组怎么定义我都忘了,琢磨了好久,最开始我以为应该就是这样写的,但是把整个代码执行,直接报错啦,蒙蔽的我只有去看看正解代码的数组定义,然后再测试和提交,第一次没有通过,因为我的while循环条件没写左右下标相等的情况,光是脑子想也想不出过所以然,还是多在纸上画画吧.这道题完成的整个过程我觉得很不错,比我最初想用双循环解题,甚至还没想到直接调用排序的函数好多了,指针得多加练习,加油.//滑动窗口,只用一个for循环,这个循环的索引作为终止位置。
2023-02-02 23:04:35
1389
原创 web 第一期笔记
前端基础学习笔记社区地址MDN Web Docs (mozilla.org)行内元素描述在一般情况下,行内元素只能包含数据和其他行内元素。格式默认情况下,不会以新行开始。代表元素块级元素描述块级元素可以包含行内元素和其他块级元素格式默认情况下,块级元素会新起一行代表元素<address> <article> <blockquote> <dd> <dl&.
2022-04-03 16:37:05
944
原创 求解一个数字的长度
使用工具: Java eclipse概要:利用循环求解一个数字的长度 我觉得这样写很不错 (除了直接使用.length)如果大家有更好的思路 欢迎在评论区交流 感谢~参考代码:public static int Weishu(int i){ int num=0; while(i!=0){ num++; i=i/10; } return num; }...
2022-03-20 21:12:44
100
原创 java 求一个数字是不是回文数
使用工具:eclipse概要:上次写的C语言求回文数 ,那个代码通用率并不高,这次改了一下代码 。利用循环+数组存放个十百。。。。位 然后再用一个循环 判断数字的相等与否。参考代码:package test;import java.util.Scanner;public class huiwen { public static void main(String args[]){ int num,bool=1; @SuppressWarnings("resource")
2022-03-20 21:04:33
879
原创 C语言 将一个3*3的矩阵转置,用函数和指针实现
使用工具:Dev c++ 5.11解题思路:参考代码:#include<stdio.h> int main(){ int tran(int (*p)[3]); int a[3][3]; for(int i=0;i<3;i++) { for(int j=0;j<3;j++) scanf("%d",&a[i][j]); } printf("After conversion:\n"); tran(a); printf("\n");
2022-03-17 23:36:06
3783
1
原创 C语言>>有n个人围成一圈,顺序排号,从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的人原来排在第几号。
使用工具:Dev-C++ 5.11解题思路:比如有4个人报数,报到3的人会退出圈子,那第四个人就应该报1,第一个人报2,依此类推。题中提到的退出圈子,在代码中并不是真正的退出member[1000]数组,而是给它附上0这个新值,做一个标记,一直到4个人只剩下一个人,才用循环遍历四个人中,不为0的人,并将其打印输出。count计数只会在1、2、3三个数游荡,因为每次报数就是1、2、3,并不是第四个人报完了1,还有五个人、第六个人报数2、3。参考代码:#include<stdio.h
2022-03-07 00:02:42
4314
4
原创 C语言>>写一函数,使输入的一个字符串按反序存放,要求在主函数中输入和输出字符串
使用工具:Dev-C++ 5.11解题思路:用户输入了字符串后,利用循环语句求出字符串长度,然后写一个单层循环,每次循环次数都小于等于长度的一半即可。每次反序存放都是两两对换,三个(奇数个)字符的字符串(try)与四个(偶数个)字符的字符串(hero),在奇数个字符的字符串中循环 就是y 与t交换,r做一次“无效”(相当于你把东西放入一个篮子,然后又把它拿回来)交换(一共2次循环即可完成反序存放);偶数个字符的字符串的交换就是 h 与o交换 r与e交换。参考代码:#include &l
2022-03-07 00:02:33
2271
原创 C语言>>已知数组int num1[20],num2[20]中分别存放了两个20位整数的各个位的值,编写一个程序,求将这两个整数相加的结果。
使用工具:Dev-C++ 5.11解题思路:定义一个num3[21]的数组,用于存放两个数组相加的结果,之所以长度为21,是因为要考虑进位的情况;数组num3[21]的每一位数的存放应是从尾放到头,因此在写循环的的时候,循环变量(作为数组的下标)应是递减的。最后还要注意num3[21]应被定义一个初始值0,其原因如下(摘自一位热心网友给我的解答): 就是num3没有初始化的原因,申请的内存还有残存的值,并不是0 C语言的变量分为全局变量跟局部变量,全局变量是不用初始化的,它的值即
2022-03-07 00:02:23
515
原创 C语言>>由键盘任意输入一个字符串和一个字符,要求从该字符串中删除所指定的字符
使用工具:Dev-C++解题思路:当用户输入了字符串,可以不利用循环求长度,因为每一个字符数组都会在结尾存放一个转义字符\0;然后编写一个循环语句,用循环依次判定字符数组s中的每个字符与x是否相等,若不相等则赋给另一个数组存放,若相等则不赋给另一个数组存放,处理完后另一个数组即为删除了 x字符的数组。也可练习直接在一个数组中处理。参考代码:#include <stdio.h>int main(){int i, j = 0;char ch;char str[100]
2022-03-07 00:02:11
8840
原创 C语言>>编写一个程序完成“菜单”功能。三种选择途径:1) 求水仙花数(narcissus number),找出100至999之间的所有水仙花数。2)求出素数(prime number......
使用工具:Dev-C++ 5.11参考代码://4-1 菜单 #include<stdio.h>#include<math.h>int main(){void menu(int n); int tf=1;menu(tf);}//主菜单函数void menu(int n){ void nar(int n); void pri(int n); void fai(int n); int input,a; while(n==1) { pri
2022-03-07 00:01:58
1417
4
原创 C语言>>编写一系统,计算常见图形(圆、三角形、正方形和矩形)的面积
使用工具:Dev-C++ 5.11题目描述:编写一系统,计算常见图形(圆、三角形、正方形和矩形)的面积。要求:实用性强(不懂计算机编程的人也能够使用)。 用户根据自己需要选择某类图形、输入相应的数据后,能够正确的计算该图形的面积。 能够重复执行上面的操作。 当用户把所有图形面积计算完后,能够正常退出 当用户数据输错时,能够有相应的错误提示。参考代码:#include<stdio.h>int main(){ void menu(int n); int t
2022-03-07 00:01:35
4023
原创 C语言>>打印以下的杨辉三角形(10行)
使用工具:Dev-C++ 5.11解题思路:分清楚该图像有特殊和普通的列,先处理特殊的,再编写双层循环实现普通的列;参考代码: //打印以下的杨辉三角形(10行)#include<stdio.h>int main(){ int a[10][10],i,j;for(i=0;i<10;i++) { a[i][i]=1; a[i][0]=1; }//负责对角线和每行第一列 for(i=2;i<10;i++) for(j=1;j
2022-03-06 02:19:52
11301
1
原创 C语言>>输入两个字符串,比较这两个字符串是否相同并输出比较结果。要求不用任何字符串处理函数。
使用工具:Dev-C++ 5.11解题思路:设置两个字符数组,并利用while循环计算出两个数组的长度,当长度相等时应有遍历数组中每一个字符是否恒等的循环代码,并在循环中计数,当退出循环时,应判断计数的大小是否恒等于数组的大小,满足两个条件才可以输出字符串相等。参考代码:#include<stdio.h>int main() { char a[30],b[30]; int n=0,k=0; int count3=0; int count1=0; in
2022-03-06 02:13:39
2127
原创 C语言>>求方程ax2+bx+c=0的根,用三个函数分别求当b2-4ac大于0、等于0和小于0时的根,并输出结果。从主函数输入a、b、c的值。
使用工具:Dev-C++ 5.11解题思路:直接定义全局变量,这样方便调用。 在主函数就写好b*b-4*a*c的值,创造的三个求根函数,只需要设置a,b两个形参,因为求根公式只是涉及了这两个系数。最后在主函数运用if来判断b*b-4*a*c的大小,满足条件应该运用的函数即可。参考代码:#include<stdio.h>#include<math.h>double a,b,c,x1,x2,disc,p,q;//全局变量-global variableint
2022-03-06 01:59:13
6195
1
原创 C语言>>写一函数,用“起泡法”对输入的10个字符由小到大排序。
使用工具:Dev-C++ 5.11解题思路:“起泡法”思路为:将相邻两个数比较,将较小的调到前头,较大的放到后头。经过1轮比较后,最大的数便调到最后一个位置。所以n个数要比较n-1趟,在第j趟中要进行n-j次比较。下面以一个整型数组中的6个数为例演示进行第1趟比较的情况: 我们可以写一个双层循环,外层循环控制趟数,内层循环控制每两个数比较的次数,再在里面写上执行两个值交换的代码即可,这样一来,我们只需要一个数组即可解决问题。参考代码:#include<stdio.h>
2022-03-06 01:50:21
10381
原创 C语言>> 编写一函数显示如下规则的图形,每行‘*’号个数及输出行数由主函数输入n值控制。
使用工具:Dev-C++ 5.11解题思路:创造一个函数,内设一个形参,用于得到用户输入的n的值,决定图形的样子。在函数内,由于该图形是上下对称图形,上面的在递减,下面的在递增,所以我们应该写两次双层循环,规定上面的图形的代码的外层循环变量是递减的,内层循环变量的循环次数等于外层的循环便量的大小;下面的图形的代码的外层循环变量是递增的,内层循环变量的循环次数等于外层的循环变量的大小。参考代码:#include<stdio.h>int main(){ int figur
2022-03-06 01:32:20
1392
原创 C语言>>编写一函数,将N*N方阵行列互换。
使用工具:Dev-C++ 5.11解题思路:创造一个函数transpose(int a[][N],int n),在内设置局部变量:两个下标和一个临时交换值的变量;再写一个双层循环,实现a[x][y]和a[y][x]的互换即可。参考代码:#include<stdio.h>#include<string.h>#include<math.h>#define N 3//用常量定义数组,切记勿用变量!//此处定义N的值并不影响,后续添加scanf即可
2022-03-06 01:09:31
1875
原创 C语言>>写一个函数,判断一个5位数是不是回文数。例:12321是回文数,个位与万位相同,十位与千位相同。
使用工具:Dev-C++ 5.11解题思路:设n是一任意自然数。若将n的各位数字反向排列所得自然数n1与n相等,则称n为一回文数。在函数Palindrome_num(int n)中,设置局部变量(万位、千位、百位、十位、个位),根据输入的参数,将数字的万千百十个分离出来,然后判断个位与万位是否相同,十位与千位是否相同。参考代码:#include<stdio.h>int main(){ int Palindrome_num(int n); int a,Logica
2022-03-06 00:57:40
704
原创 C语言>>有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
使用工具:Dev-c++ 5.11解题思路:由题意可知一共有(A43)24种排列方案,写三层循环,全部遍历每一个数字(1、2、3、4)做百十个位的情况,然后再在最内层循环里面打印输出即可。参考代码:#include<stdio.h>int main()//排列组合 { int count=0; for(int a=1;a<5;a++) { for(int b=1;b<5;b++) { for(int c=1;c<5;c++)
2022-03-06 00:45:57
1678
原创 C语言>>一个数如果恰好等于它的因子之和,这个数就称为“完数”。比如:6=1+2+3,因此6是完数。编程求出1000以内的完数。
使用工具:Dev-c++ 5.11解题思路:该数最小为2,不超过1000;我们可以写个双循环,外层循环表示可能存在的完数的集合,内层循环表示可能存在的因子的集合,且因子最大也只能是完数的一半;在内层循环中 ,代码应当实现如果一个数(外层的)和另一个数(内层的)取余数恒为零,就记录下另一个数的累加。当退出内层循环时,判断累加的数的大小是否等于外层循环的数,即可得出完数。参考代码:#include<stdio.h>int main(){ int num,yz,sum;
2022-03-06 00:31:56
2574
原创 C语言>>百钱百鸡问题。鸡翁一,值钱五;鸡母一,值钱三;鸡雏三,值钱一;百钱买百鸡,翁、母、雏各几何 ?
使用工具:Dev-c++ 5.11解题思路:解读标题《百钱百鸡》,意思就是用一百元钱,购买一百只鸡,因为鸡的类别有三种,所以就有不同的方案。公鸡一只五元钱,最多20只;母鸡一只三元钱,最多33只;小鸡一元钱三只,最多购买99只。并且①花费100元;②小鸡数量必须是3的倍数;③数量之和为100;参考代码:#include<stdio.h>int main(){ int x,y,z,num=1; for(x=0;x<=20;x++) for(y=0;y
2022-03-06 00:09:55
19117
6
原创 C语言>>根据输入的月份的阿拉伯数字转换成对应的英文单词输出,若超过范围,则提示输入错误。
使用工具:Dev-c++ 5.11解题思路:本题可以选择使用if-else if语句或switch语句。在使用switch语句时应该注意每当满足一个条件,执行相应的语句后,因该添加break语句,不然会导致程序继续向下执行。下面的代码添加了循环语句,可以实现多次查询某月的英文单词,需要注意当我们定义了一个char类型的变量,要记住单引号括单个字符,双引号括多个字符。参考代码:#include<stdio.h>int main(){ int month;char
2022-03-05 23:41:38
1868
原创 C语言>>输入一个大于三位的整数,编一个程序,将它的十位数和百位数互换位置。
使用工具:Dev-C++ 5.11解题思路:比如输入456789,我们需要将千位及千位以上的数给分离出来,还要分离百位、十位、个位。然后再将分离出来的数字(千位、百位、十位)分别乘以10的N(N对应千、百、十可变)次方进行相加即可得到位置互换后的数字。参考代码:#include<stdio.h>int main(){ int num,gw,sw,bw,qw,result=0; printf("Please input an integer number with m
2022-03-05 23:15:18
2747
把folder转成package
2022-05-24
c语言变量作用域与声明的关系
2022-04-17
C语言 数据结构 顺序表的基本操作 出现错误:无效转换
2022-04-17
算法时间复杂度分析,刚开始学数据结构。
2022-04-10
request for member 'name' in 'stu'
2022-03-30
java.lang.NullPointerException
2022-03-28
html 设置列表有一段空隙是怎么回事
2022-03-27
HTML 无法插入图片
2022-03-23
java 三个数组合成一个最小的数
2022-03-19
java 把N以内的质数存入数组,并输出存储个数。
2022-03-19
Java 实现字符的输入与输出
2022-03-11
数组里面的元素按位置相加,但是结果有误差
2022-03-03
输入了数组的值,但是打印出来有问题
2022-03-03
JS中出现Declaration or statement expected
2022-02-08
python&django 加载网页出现ValueError
2022-01-05
c语言求一元二次方程的根
2021-10-15
c语言运行结果为 x1= -1.#J 怎么解决
2021-10-05
遇到1d return 1 exit status怎么改
2021-10-02
c语言里面两数比较 能运行但不显示最大值
2021-09-25
Python里面的名称未定义
2021-07-21
pycharm2021.1.2中如何使用input函数
2021-06-28
pycharm 创建数字列表后,无法使用求最值函数
2021-06-21
Python初学者用什么编辑器?
2021-06-20
TA创建的收藏夹 TA关注的收藏夹
TA关注的人