算法基础语言部分
henu-于笨笨
大一下学期,因坚守内心而处于挂科边缘的边缘人
展开
-
全排列的价值
python实现全排列原创 2022-06-18 08:31:30 · 125 阅读 · 0 评论 -
python 逆序对的数量【简单易懂,代码直接运行】
python 逆序对的数量【简单易懂,代码直接运行】给定一个长度为 n 的整数数列,请你计算数列中的逆序对的数量。逆序对的定义如下:对于数列的第 i 个和第 j 个元素,如果满足 i<j 且 a[i]>a[j],则其为一个逆序对;否则不是。输入格式第一行包含整数 n,表示数列的长度。第二行包含 n 个整数,表示整个数列。输出格式输出一个整数,表示逆序对的个数。数据范围1≤n≤100000,数列中的元素的取值范围 [1,109]。输入样例:62 3 4 5 6 1输出样原创 2022-03-05 22:41:31 · 2745 阅读 · 5 评论 -
python 归并排序【简单易懂,代码直接运行】
python 归并排序【简单易懂,代码直接运行】给定你一个长度为 n 的整数数列。请你使用归并排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5其实所有的排序算法都可以用一个sort排序一笔带过,重要的是其中的原创 2022-03-04 23:17:53 · 257 阅读 · 0 评论 -
python 第k个数 快速选择算法【简单易懂,代码直接运行】
python 第k个数 快速选择算法给定一个长度为 n 的整数数列,以及一个整数 k,请用快速选择算法求出数列从小到大排序后的第 k 个数。输入格式第一行包含两个整数 n 和 k。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整数数列。输出格式输出一个整数,表示数列的第 k 小数。数据范围1≤n≤100000,1≤k≤n输入样例:5 32 4 1 5 3输出样例:3快速选择算法,是在快排的基础上进行元素选择,快速排序实质是一个双指针算法,它分为左指针l和右指针原创 2022-03-04 17:52:21 · 1657 阅读 · 1 评论 -
Python 快速排序算法【简单易懂,代码直接运行】
Python 快速排序算法【简单易懂,代码直接运行】给定你一个长度为 n 的整数数列。请你使用快速排序对这个数列按照从小到大进行排序。并将排好序的数列按顺序输出。输入格式输入共两行,第一行包含整数 n。第二行包含 n 个整数(所有整数均在 1∼109 范围内),表示整个数列。输出格式输出共一行,包含 n 个整数,表示排好序的数列。数据范围1≤n≤100000输入样例:53 1 2 4 5输出样例:1 2 3 4 5**快速排序实质是一个双指针算法,它分为左指针l和右指针r,和原创 2022-03-04 16:45:00 · 2190 阅读 · 0 评论 -
剑指offer 用两个栈实现队列 图解栈和队列的转换过程【简单易懂,代码可以直接运行】
剑指offer 用两个栈实现队列 图解栈和队列的转换过程【简单易懂,代码可以直接运行】栈和队列是两种常见的数据结构。栈的特点是先进后出,就像是压弹夹一样,最先压进去的子弹最后才能发出来。队列的特点的是先进先出,这个十分贴切实际生活,就像是排队一样,排在前面的人才能更快买到饭,排在后面的人需要等待前面的人买过饭之后才能轮到他。题目描述:请用栈实现一个队列,支持如下四种操作:push(x) – 将元素x插到队尾;pop() – 将队首的元素弹出,并返回该元素;peek() – 返回队首元素;emp原创 2021-10-30 23:07:19 · 132 阅读 · 0 评论 -
剑指offer 从尾到头打印链表【简单易懂,代码可以直接运行】
剑指offer 从尾到头打印链表【简单易懂,代码可以直接运行】讲真,链表到现在还是我的噩梦不过这道题可以利用STL来写这道题,利用vector和内置函数reverse函数将链表进行反转,嘿嘿。题目描述:输入一个链表的头结点,按照 从尾到头 的顺序返回节点的值。返回的结果用数组存储。思路:遍历链表的每一个元素,将元素的值存入到vector中,然后利用vector的reverse函数进行vector的反转,这样就完成了整个链表的值的反转!注:vector是一种可变的数组点个????吧,秋梨膏原创 2021-10-30 22:53:22 · 136 阅读 · 0 评论 -
剑指offer 调整数组顺序使奇数位于偶数前面 图解双指针【简单易懂,代码可以直接运行】
剑指offer 调整数组顺序使奇数位于偶数前面 图解双指针【简单易懂,代码可以直接运行】题目描述:输入一个整数数组,实现一个函数来调整该数组中数字的顺序。使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分。点个????吧,秋梨膏!!!思路:这道题利用双指针来写,一个指针i放在数组的最前面进行循环遍历,目的是找到前面的偶数,一个指针j放在数组的最后面,循环遍历找奇数,当他们两者找到符合条件的数字时,并且此时i < j因为奇数在前,偶数在后,则将两者进行交换。这样便完成了第一次前原创 2021-10-30 22:47:20 · 127 阅读 · 0 评论 -
剑指offer 数字在排序数组中出现的次数【简单易懂,代码可以直接运行】
剑指offer 数字在排序数组中出现的次数【简单易懂,代码可以直接运行】这道题有点水题的味道,不过我最近在学STL的容器,这道题恰好是用vector来存储数据的,写一写。题目描述:统计一个数字在排序数组中出现的次数。例如输入排序数组 [1,2,3,3,3,3,4,5] 和数字 3,由于 3 在这个数组中出现了 4 次,因此输出 4。输入:思路:这道题就是匹配,匹配就完了。设立一个计数器,遍历整个vector找到与k值相同的值,每找到一个注意将计数器+1即可。这道题我并没有用到优化,听别的hx原创 2021-10-29 22:58:05 · 2973 阅读 · 0 评论 -
剑指offer 0到n-1中缺失的数字【简单易懂,代码可以直接运行】
剑指offer 0到n-1中缺失的数字【简单易懂,代码可以直接运行】题目描述一个长度为 n−1 的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围 0 到 n−1 之内。在范围 0 到 n−1 的 n 个数字中有且只有一个数字不在该数组中,请找出这个数字。思路:这个题是有序数组中缺少了一个元素,这样我们可以一次遍历这个数组的长度将其放到一个无序集合unordered_set,然后依次迭代这个数组中的元素,用unordered_set的erase操作,根据传入的键将其对应的值删掉。这里介绍原创 2021-10-29 22:48:24 · 129 阅读 · 0 评论 -
C/C++ 剑指offer 利用运算符短路来求解1+....+n不能使用循环等结构
C/C++ 剑指offer 利用运算符短路来求解1+…+n不能使用循环等结构核心思想:利用运算符短路,当n<=0时,右边不会参与运算!关键代码如下:n > 0 && (sum += add(n - 1));//利用运算符短路,当n<=0时,右边不会参与运算! 代码如下:#include<iostream>using namespace std;int add(int n){ int sum = n; n > 0 &&原创 2021-10-24 12:09:14 · 84 阅读 · 0 评论 -
剑指offer 介绍一种很骚的做法 求1+2+…+n不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。【简单易懂,代码可以直接运行】
求1+2+…+n不能使用乘除法、for、while、if、else、switch、case 等关键字及条件判断语句 (A?B:C)。【简单易懂,代码可以直接运行】利用char数组和等差数列求和公式来写这道题!介绍sizeof函数:sizeof函数是用来计算字节数,因为char类型是一个字节,所以sizeof数组的字节数就是数组的长度;介绍等差数列求和公式:Sn = n*(n+1)/2由此我们可以得到一种解法,利用二维字符数组char[n][n+1]来求出来这道题,因为sizeof数组即是n(n+原创 2021-10-24 11:57:04 · 1560 阅读 · 0 评论 -
C/C++ 替换空格解法一:双指针解法 图解双指针【简单易懂,代码可以直接运行】
C/C++ 替换空格解法一:双指针解法 图解双指针【简单易懂,代码可以直接运行】题目描述:请实现一个函数,把字符串中的每个空格替换成"%20"。你可以假定输入字符串的长度最大是 1000。注意输出字符串的长度可能大于 1000。样例输入:“We are happy.”输出:“We%20are%20happy.”1.这道题省空间可以使用双指针算法。先遍历字符串找到空格的位置,并再遍历过程设置长度计数,当遍历到空格的时候,将长度+3,否则长度+1。计算出来替换空格之后字符串的长度len。2.设原创 2021-10-23 23:19:37 · 444 阅读 · 0 评论 -
C/C++ 替换空格解法一:开辟一块新空间【简单易懂,代码可以直接运行】
C/C++ 替换空格【简单易懂,代码可以直接运行】这道题我之前写过一道类似的消除空格,他们两道题的原理其实都是遍历找到空格的位置进行操作。题目描述:请实现一个函数,把字符串中的每个空格替换成"%20"。你可以假定输入字符串的长度最大是 1000。注意输出字符串的长度可能大于 1000。样例输入:“We are happy.”输出:“We%20are%20happy.”这道题有两种解法第一种时检测到空格后将空格替换为想要的结果。这种思想很好考虑,但是会多浪费一块空间代码如下:class原创 2021-10-23 22:55:51 · 245 阅读 · 0 评论 -
C/C++ 类,结构体,指针
结构体和类的作用是一样的,不同的是类默认是私有变量,结构体默认是公共变量局部变量定义到栈里面;数组和静态变量,全局变量定义到堆里面指针指向存放变量值得地址,因此我们可以通过修改指针来修改变量的值指针可以做减法看着课本里面链表的伪代码,第一次学习链表的同学可能都会有一个疑问,到底什么时候用p->,什么时候用p.。我觉得这是一个非常有意义的问题,我当时也是迷惑了好久,链表结束的时候才学会。链表:Node p = new Node(1); 加new返回的是一个地址Node p = new No原创 2021-10-23 22:42:11 · 162 阅读 · 0 评论 -
C/C++ 函数
C/C++ 函数这几天重学了C/C++中的函数,记录一些之前没有注意过的点1.静态变量,值会初始化一次,再次调用该函数,则函数不会再被初始化2.static int a = 1;相当于在函数内部开了一个只有该函数能用的全局变量,不赋初值则默认赋值为03.在函数内部改变变量的值,其变量的值是不会改变的。但是可以在变量前面加上引用符号,这样在函数内部改变变量的值,main函数内变量的值也会改变4.构造函数中传入的数组,第一个传入的参数的值是可以省略的,但是第二个参数的值不能省略,并且将数组传入构造函原创 2021-10-23 22:37:29 · 169 阅读 · 0 评论 -
C/C++ 排列 图解递归过程【简单易懂,代码可以直接运行】
C/C++ 排列 图解递归过程【简单易懂,代码可以直接运行】怎么说,这道题是老生常谈了这道题图样可以抽象为深度递归搜索树:点个????吧,秋梨膏!!这个图需要设置三个变量,一个存放数据num,一个标记位子u,一个标记数据是否被访问过st是一个bool型变量,没有访问过为false,访问过的设为true需要注意的一点:在退出递归的过程中需要恢复bool 数组中的值!!非常重要,不然递归过程中,数组中的数据就没法使用,原理如下图:图解恢复现场:点个????吧,秋梨膏!!!核心代码:voi原创 2021-10-21 23:26:38 · 535 阅读 · 2 评论 -
C/C++ 走方格 图解暴力遍历过程【简单易懂,代码可以直接运行】
C/C++ 走方格 图解递归过程【简单易懂,代码可以直接运行】给定一个 n×m 的方格阵,沿着方格的边线走,从左上角 (0,0) 开始,每次只能往右或者往下走一个单位距离,问走到右下角 (n,m) 一共有多少种不同的走法。输入格式共一行,包含两个整数 n 和 m。输出格式共一行,包含一个整数,表示走法数量。数据范围1≤n,m≤10输入样例:2 3输出样例:10这道题我用的是暴力搜索,非常暴力啊。毫无技巧可言!!核心代码如下:void dfs(int x,int y){ if(原创 2021-10-21 23:14:33 · 2230 阅读 · 3 评论 -
C/C++ 跳台阶 图解递归过程【简单易懂,代码可以直接运行】
C/C++ 跳台阶 图解递归过程【简单易懂,代码可以直接运行】一个楼梯共有 n 级台阶,每次可以走一级或者两级,问从第 0 级台阶走到第 n 级台阶一共有多少种方案。输入格式共一行,包含一个整数 n。输出格式共一行,包含一个整数,表示方案数。数据范围1≤n≤15输入样例:5输出样例:8这道题是可以抽象为递归搜索树的,我们来看一下这个题抽象出来的的树,用的bfs深度优先遍历的方法关于深度优先搜索的核心代码:int f(int k){ if(k == n) {原创 2021-10-21 23:09:54 · 1188 阅读 · 1 评论 -
C/C++ 复制数组【简单易懂,代码可以直接运行】
C/C++ 复制数组【简单易懂,代码可以直接运行】这道题我觉得最值得看的一点就是引用型参数,我以前只是听老师说参数有普通得形参和引用型形参,但是一直没有真正用过引用型形参,通过这个题才算是搞明白一点。给定两个数组 a 和 b 以及一个整数 size,请你编写一个函数,void copy(int a[], int b[], int size),将 a 数组中的前 size 个数字,复制到 b 数组中。复制完成后,输出 b 数组。输入格式第一行包含整数 n,m,size,分别表示 a 数组的长度,b原创 2021-10-20 14:28:41 · 3584 阅读 · 0 评论 -
C/C++区间求和【简单易懂,代码可以直接运行】
C/C++区间求和【简单易懂,代码可以直接运行】水题输入两个整数 l 和 r,请你编写一个函数,int sum(int l, int r),计算并输出区间 [l,r] 内所有整数的和。输入格式共一行,包含两个整数 l 和 r。输出格式共一行,包含一个整数,表示所求的和。数据范围1≤l≤r≤1000输入样例:3 5输出样例:12代码如下:#include<iostream>#include<cmath>using namespace std;int原创 2021-10-20 14:21:14 · 4827 阅读 · 0 评论 -
C/C++ 两个数的和【简单易懂,代码可以直接运行】
C/C++ 两个数的和【简单易懂,代码可以直接运行】水题这道题需要注意的是需要控制的小数点位数这道题有意思的是printf无论如何都会输出6位的double与float小数,而cout会把后面的零全部舍弃,只保留有效位!输入两个浮点数 x 和 y,请你编写一个函数,double add(double x, double y),计算并输出 x 与 y 的和。输入格式共一行,包含两个浮点数 x 和 y。输出格式共一行,包含一个浮点数,表示两个数的和,结果保留 2 位小数。数据范围−1000≤原创 2021-10-20 14:19:41 · 1366 阅读 · 0 评论 -
C/C++ 绝对值【简单易懂,代码可以直接运行】
C/C++ 绝对值【简单易懂,代码可以直接运行】水题输入一个整数 x,请你编写一个函数,int abs(int x),输出 x 的绝对值。输入格式共一行,包含一个整数 x。输出格式共一行,包含 x 的绝对值。数据范围−100≤x≤100输入样例:-3输出样例:3代码如下:#include<iostream>using namespace std;int abs(int x){ if(x < 0) return -x; return x;}i原创 2021-10-20 14:16:35 · 2888 阅读 · 0 评论 -
C/C++ 递归求斐波那契数列 图解递归过程【简单易懂,代码可以直接运行】
C/C++ 递归求斐波那契数列【简单易懂,代码可以直接运行】老生常谈了,C/C++/C#/Java/python都有这种题递归途径类似于下面这种,区别就是这里有一个递归,斐波那契数列有两个递归,就这一点区别!请使用递归的方式求斐波那契数列的第 n 项。斐波那契数列:1,1,2,3,5…,这个数列从第 3 项开始,每一项都等于前两项之和输入格式共一行,包含整数 n。输出格式共一行,包含一个整数,表示斐波那契数列的第 n 项。数据范围1≤n≤30输入样例:4输出样例:3代码如下:原创 2021-10-20 14:15:07 · 3605 阅读 · 1 评论 -
C/C++ 打印矩阵【简单易懂,代码可以直接运行】
C/C++ 打印矩阵【简单易懂,代码可以直接运行】水题,不过需要记住数组传入自定义函数时的规则1.在main函数内部:直接写入数组名a,b之类的2.在型参处,要写入a[]或a[数字],如果时二维数组,则只能省略第一个[]内的3.数字,第二个[]内的数字不能省略!!4.修改后的数组不用return返回出来,它会在主函数内自动修改5.最重要的一点,传入形参的数组时指向数组的指针而不是数组本身,不要在自定义函数内部求解数组的长度,64位的电脑用sizeof求出来的永远是8,32位永远是4。给定一个 r原创 2021-10-20 14:10:56 · 7405 阅读 · 0 评论 -
C/C++ 交换数值【简单易懂,代码可以直接运行】
C/C++ 交换数值【简单易懂,代码可以直接运行】输入两个整数 x 和 y,请你编写一个函数,void swap(int &x, int &y), 交换两个整数的数值并输出交换后的 x 和 y。输入格式共一行,包含两个整数 x 和 y。输出格式共一行,包含交换后的 x 和 y。数据范围1≤x,y≤100水题,代码如下:#include<iostream>using namespace std;int swap(int &x,int &y)原创 2021-10-18 23:06:24 · 1380 阅读 · 0 评论 -
C/C++ 最大公约数【简单易懂,代码可以直接运行】
最大公约数输入两个整数 a 和 b,请你编写一个函数,int gcd(int a, int b), 计算并输出 a 和 b 的最大公约数。输入格式共一行,包含两个整数 a 和 b。输出格式共一行,包含一个整数,表示 a 和 b 的最大公约数。数据范围1≤a,b≤1000输入样例:12 16输出样例:4这道题用的是暴力遍历,代码如下:#include<iostream>using namespace std;int gcd(int x,int y){ int原创 2021-10-18 23:02:51 · 1064 阅读 · 0 评论 -
C/C++ x和y的最大值【简单易懂,代码可以直接运行】
x和y的最大值输入两个整数 x 和 y,请你编写一个函数,int max(int x, int y),计算并输出 x 和 y 的最大值。输入格式共一行,包含两个整数 x 和 y。输出格式共一行,包含一个整数,表示两个数中较大的那个数。数据范围−100≤x,y≤100输入样例:3 6输出样例:6水题,代码如下:#include<iostream>using namespace std;int func(int x,int y){ if(x > y) re原创 2021-10-18 22:57:58 · 1200 阅读 · 0 评论 -
C/C++ n的阶乘 图解递归过程【简单易懂,代码可以直接运行】
C/C++ n的阶乘【简单易懂,代码可以直接运行】输入一个整数 n,请你编写一个函数,int fact(int n),计算并输出 n 的阶乘。输入格式共一行,包含一个整数 n。输出格式共一行,包含一个整数表示 n 的阶乘的值。数据范围1≤n≤10输入样例:3输出样例:6图解递归其实每个递归函数都可以化作一棵树,树的前序遍历就是递归的顺序,重点找好出口点个????吧,秋梨膏!!!代码如下:#include<iostream>#include<cstring原创 2021-10-18 22:54:19 · 2251 阅读 · 0 评论 -
C/C++ 最长公共字符串后缀【简单易懂,代码可以直接运行】
C/C++ 最长公共字符串后缀【简单易懂,代码可以直接运行】给出若干个字符串,输出这些字符串的最长公共后缀。输入格式由若干组输入组成。每组输入的第一行是一个整数 N。N 为 0 时表示输入结束,否则后面会继续有 N 行输入,每行是一个字符串(字符串内不含空白符)。每个字符串的长度不超过 200。输出格式共一行,为 N 个字符串的最长公共后缀(可能为空)。怎么考虑这个题呢?首先这是一个字符串匹配问题,找最长后缀,所以我们需要从后往前找这个题的难点一输入问题:如何输入字符串进行循环比较原创 2021-10-17 23:04:11 · 1638 阅读 · 0 评论 -
C/C++ 字符串移位包含问题【简单易懂,代码可以直接运行】
C/C++ 字符串移位包含问题【简单易懂,代码可以直接运行】这个题难度是hard,还是挺困难,这里用的是一种遍历得算法,总觉得数据结构中的KMP算法也可以实现这个问题,但是没有尝试,用暴力搜索解决得这道题。对于一个字符串来说,定义一次循环移位操作为:将字符串的第一个字符移动到末尾形成新的字符串。给定两个字符串 s1 和 s2,要求判定其中一个字符串是否是另一字符串通过若干次循环移位后的新字符串的子串。例如 CDAA 是由 AABCD 两次移位后产生的新串 BCDAA 的子串,而 ABCD 与 ACB原创 2021-10-14 22:35:46 · 1861 阅读 · 0 评论 -
C语言/C++ 字符串插入【简单易懂,代码可以直接运行】
C语言/C++ 字符串插入【简单易懂,代码可以直接运行】有两个不包含空白字符的字符串 str 和 substr,str 的字符个数不超过 10,substr 的字符个数为 3。(字符个数不包括字符串结尾处的 \0。)将 substr 插入到 str 中 ASCII 码最大的那个字符后面,若有多个最大则只考虑第一个。输入格式输入包括若干行,每一行为一组测试数据,格式为str substr输出格式对于每一组测试数据,输出插入之后的字符串。输入样例:abcab eee12343 555输出样原创 2021-10-10 22:58:49 · 3717 阅读 · 2 评论 -
C语言/C++ 替换字符【简单易懂,代码可以直接运行】
C语言/C++ 替换字符【简单易懂,代码可以直接运行】给定一个由大小写字母构成的字符串。把该字符串中特定的字符全部用字符 # 替换。请你输出替换后的字符串。输入格式输入共两行。第一行包含一个长度不超过 30 的字符串。第二行包含一个字符,表示要替换掉的特定字符。输出格式输出共一行,为替换后的字符串。输入样例:hellol输出样例:he##o可以看下这篇字符串不同输入输出方式的区别:https://blog.csdn.net/weixin_45527999/article/de原创 2021-10-10 22:55:45 · 1251 阅读 · 0 评论 -
C语言/C++ 字符串加空格【简单易懂,代码可以直接运行】
C语言/C++ 字符串加空格【简单易懂,代码可以直接运行】给定一个字符串,在字符串的每个字符之间都加一个空格。输出修改后的新字符串。输入格式共一行,包含一个字符串。注意字符串中可能包含空格。输出格式输出增加空格后的字符串。数据范围1≤字符串长度≤100输入样例:test case输出样例:t e s t c a s e这道题强烈注意输出!!!!,不能用puts函数,会报错。可以看下这篇字符串不同输入输出方式的区别https://blog.csdn.net/weixin_455原创 2021-10-10 22:53:08 · 8259 阅读 · 0 评论 -
C语言/C++ 循环相克令【简单易懂,代码可以直接运行】
C语言/C++ 循环相克令【简单易懂,代码可以直接运行】循环相克令是一个两人玩的小游戏。令词为“猎人、狗熊、枪”,两人同时说出令词,同时做出一个动作——猎人的动作是双手叉腰;狗熊的动作是双手搭在胸前;枪的动作是双手举起呈手枪状。双方以此动作判定输赢,猎人赢枪、枪赢狗熊、狗熊赢猎人,动作相同则视为平局。现在给定你一系列的动作组合,请你判断游戏结果。输入格式第一行包含整数 T,表示共有 T 组测试数据。接下来 T 行,每行包含两个字符串,表示一局游戏中两人做出的动作,字符串为 Hunter, Be原创 2021-10-10 22:49:54 · 584 阅读 · 2 评论 -
C语言/C++ 字符串中的数字个数【简单易懂,代码可以直接运行】
C语言/C++ 字符串中的数字个数【简单易懂,代码可以直接运行】输入一行字符,长度不超过 100,请你统计一下其中的数字字符的个数。输入格式输入一行字符。注意其中可能包含空格。输出格式输出一个整数,表示字数字字符的个数。输入样例:I am 18 years old this year.输出样例:2注意输入!!!!,可以看下这篇字符串不同输入输出方式的区别https://blog.csdn.net/weixin_45527999/article/details/120685711?spm原创 2021-10-10 22:41:14 · 2691 阅读 · 0 评论 -
C语言/C++ 字符串长度【简单易懂,代码可以直接运行】
C语言/C++ 字符串长度【简单易懂,代码可以直接运行】给定一行长度不超过 100 的非空字符串,请你求出它的具体长度。输入格式输入一行,表示一个字符串。注意字符串中可能包含空格。输出格式输出一个整数,表示它的长度。输入样例:I love Beijing.输出样例:15题目很简单,代码如下:#include<iostream>#include<cstring>#include<cstdio>using namespace std;int m原创 2021-10-10 22:38:13 · 1434 阅读 · 0 评论 -
C语言/C++ 蛇形矩阵 利用偏移量来解决蛇形矩阵问题【简单易懂,代码可以直接运行】
C语言/C++ 蛇形矩阵 利用偏移量来解决蛇形矩阵问题【简单易懂,代码可以直接运行】输入两个整数 n 和 m,输出一个 n 行 m 列的矩阵,将数字 1 到 n×m 按照回字蛇形填充至矩阵中。具体矩阵形式可参考样例。输入格式输入共一行,包含两个整数 n 和 m。输出格式输出满足要求的矩阵。矩阵占 n 行,每行包含 m 个空格隔开的整数。数据范围1≤n,m≤100输入样例:3 3输出样例:1 2 38 9 47 6 5分析:这个题如果是靠单纯靠循环来解决的话是非常困难而且没有原创 2021-10-09 18:20:46 · 610 阅读 · 0 评论 -
C语言/C++ 数组变换【简单易懂,代码可以直接运行】
C语言/C++ 数组变换【简单易懂,代码可以直接运行】输入一个长度为 20 的整数数组 N,将整个数组翻转,使得第一个元素成为倒数第一个元素,第二个元素成为倒数第二个元素,…,倒数第二个元素成为第二个元素,倒数第一个元素成为第一个元素。输出翻转后的数组。输入格式输入包含 20 个整数,每个数占一行。输出格式输出新数组中的所有元素,每个元素占一行。输出格式为 N[i] = x,其中 i 为元素编号(从 0 开始),x 为元素的值。数据范围−100≤N[i]≤100代码如下:#includ原创 2021-10-08 21:07:58 · 718 阅读 · 0 评论 -
C语言/C++ 斐波那契数列【简单易懂,代码可以直接运行】
C语言/C++ 斐波那契数列【简单易懂,代码可以直接运行】输入整数 N,求出斐波那契数列中的第 N 项是多少。斐波那契数列的第 0 项是 0,第 1 项是 1,从第 2 项开始的每一项都等于前两项之和。输入格式第一行包含整数 T,表示共有 T 个测试数据。接下来 T 行,每行包含一个整数 N。输出格式每个测试数据输出一个结果,每个结果占一行,结果格式为 Fib(N) = x,其中 N 为项数,x 为第 N 项的值。数据范围0≤N≤60这里面要特别注意int型整数不能出界,改为long原创 2021-10-08 21:06:09 · 2152 阅读 · 0 评论