
算法题
GT-一二
学海无涯
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
JAVA_求最小公倍数
JAVA_求最小公倍数题目链接思路:1.首先计算m和n中的较大者,用max记录。2.然后利用循环,在max到m*n之间找最小公倍数。3.如果既能被m整除又能被n整除,说明是最小公倍数,直接返回。代码:import java.util.*;public class Main { public static void main(String[] args) { Scanner console = new Scanner(System.in); in原创 2022-04-28 08:30:00 · 4875 阅读 · 0 评论 -
蓝桥杯真题-回文日期
做题链接思路:代码:#include<bits/stdc++.h>using namespace std;int rw(int x){ int temp = 0; for(int i = 0;i < 4;i++) { temp *= 10; temp += x % 10; x /= 10; } return temp;}bool isValidate(int x){ int原创 2022-03-03 23:29:34 · 429 阅读 · 0 评论 -
蓝桥杯真题-杨辉三角(程序设计-30分)
题目链接思路:代码:#include <iostream>using namespace std;int n;long long C(int a, int b) { long long res = 1; for (int i = a, j = 1; j <= b; i--, j++) { res = res * i / j; // 大于n已无意义,且防止爆LL if (res > n)原创 2022-03-03 23:19:28 · 395 阅读 · 0 评论 -
蓝桥杯真题-时间显示(程序设计-20分)
(点击前往做题)小蓝要和朋友合作开发一个时间显示的网站。在服务器上,朋友已经获取了当前的时间,用一个整数表示,值为从 1970年 11 月 11 日 00:00:00到当前时刻经过的毫秒数。现在,小蓝要在客户端显示出这个时间。小蓝不用显示出年月日,只需要显示出时分秒即可,毫秒也不用显示,直接舍去即可。给定一个用整数表示的时间,请将这个时间对应的时分秒输出。输入描述:输入一行包含一个整数,表示时间。输出描述:输出时分秒表示的当前时间,格式形如 HH:MM:SS,其中 HH 表示时,值为原创 2022-03-02 23:35:48 · 2056 阅读 · 0 评论 -
剑指 Offer II 075. 数组相对排序
剑指 Offer II 075. 数组相对排序(点击跳往做题)题目:给定两个数组,arr1 和 arr2,arr2 中的元素各不相同arr2 中的每个元素都出现在 arr1 中对 arr1 中的元素进行排序,使 arr1 中项的相对顺序和 arr2 中的相对顺序相同。未在 arr2 中出现过的元素需要按照升序放在 arr1 的末尾。示例:输入:arr1 = [2,3,1,3,2,4,6,7,9,2,19], arr2 = [2,1,4,3,9,6]输出:[2,2,2,1,4,3,3,原创 2022-01-18 19:41:09 · 144 阅读 · 0 评论 -
剑指 Offer 03. 数组中重复的数字
剑指 Offer 03. 数组中重复的数字(点击跳往做题)题目:在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例:输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3思路:1.对数组进行排序2.对相邻两个元素进行两两比较代码:class Solution {public: int findRepeatNumber原创 2022-01-18 13:49:06 · 332 阅读 · 0 评论 -
287. 寻找重复数
287. 寻找重复数(点击跳往做题链接)题目:给定一个包含 n + 1 个整数的数组 nums ,其数字都在 1 到 n 之间(包括 1 和 n),可知至少存在一个重复的整数。假设 nums 只有 一个重复的整数 ,找出 这个重复的数 。示例1:输入:nums = [1,3,4,2,2]输出:2示例2:输入:nums = [3,1,3,4,2]输出:3思路:1.对数组进行排序2.将排序后的数组进行相邻两两相比较代码:class Solution {public:原创 2022-01-18 13:40:28 · 255 阅读 · 0 评论 -
217. 存在重复元素
217. 存在重复元素(点击跳往做题链接)题目:给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ,返回 true ;如果数组中每个元素互不相同,返回 false 。示例1:输入:nums = [1,2,3,1]输出:true示例2:输入:nums = [1,2,3,4]输出:false思路:1.对数组进行排序2.比较相邻两个元素值是否相等代码:class Solution {public: bool containsDuplicate(ve原创 2022-01-17 23:13:03 · 288 阅读 · 0 评论 -
169. 多数元素
169. 多数元素(点击跳往做题链接)题目:给定一个大小为 n 的数组,找到其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。你可以假设数组是非空的,并且给定的数组总是存在多数元素。示例:输入:[3,2,3]输出:3示例:输入:[2,2,1,1,1,2,2]输出:2思路:1.先将数组进行从大到小进行排列2.取出数组的中间值即为所求元素(题目中要求多数元素是指次数超过一半的元素)代码:class Solution {public:原创 2022-01-17 23:01:32 · 203 阅读 · 0 评论 -
九日百题排序第
第一天翻译 2021-12-13 08:25:35 · 150 阅读 · 0 评论 -
算法零基础九日集训每日打卡
算法零基础九日集训每日打卡《LeetCode零基础指南》(第2讲) 函数)[学习报告][打卡帖]《LeetCode零基础指南》(第三讲) 循环原创 2021-11-24 09:35:10 · 450 阅读 · 0 评论 -
顺序结构-排列式(C++)
题目: 7254是一个不寻常的数,因为它可以表示为7254 = 39 x 186,这个式子中1~9每个数字正好出现一次 输出所有这样的不同的式子(乘数交换被认为是相同的式子) 结果小的先输出;结果相同的,较小的乘数较小的先输出。输出格式: 每一行输出一个式子,式子中的等号前后空格、乘号(用字母x代表)前后空格 较小的乘数写在前面输入:无输出:4396 = 28 x 1575346 = 18 x 2975346 = 27 x 1985796 = 12 x 48357原创 2021-11-22 19:43:20 · 866 阅读 · 0 评论 -
二叉树实验-(1)实现节点类模板,放在node.h文件中;实现二叉树节点类模板,放在bin_tree_node.h文件中。 (2)实现二叉树关键方法,放在binary_tree.h文件中;
要求:(1)实现节点类模板,放在node.h文件中;实现二叉树节点类模板,放在bin_tree_node.h文件中。(2)实现二叉树关键方法,放在binary_tree.h文件中;main.cpp//主函数:main.cpp#include <iostream> // 编译预处理命令#include <cstdlib> // 含C函数exit()的声明(stdlib.h与cstdlib是C的头文件)using namespace std; /原创 2021-11-15 09:54:00 · 646 阅读 · 0 评论 -
用1,2,3,......,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。
题目用1,2,3,…,9组成3个三位数abc,def和ghi,每个数字恰好使用一次,要求abc:def:ghi=1:2:3。按照“abc def ghi”的格式输出所有解,每行一个解。原创 2021-11-08 09:08:54 · 1348 阅读 · 1 评论 -
输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。 a,b<=10^6^,c<=100。 输入包含多组数据,结束标记为a=b=c=0。
题目输入正整数a,b,c,输出a/b的小数形式,精确到小数点后c位。a,b<=106,c<=100。输入包含多组数据,结束标记为a=b=c=0。样例输入:1 6 40 0 0样例输出:Case 1:0.1667原创 2021-11-07 22:32:48 · 2422 阅读 · 0 评论 -
输入两个整数n<m<10^6^,输出1/n^2^+1/(n+1)^2^+......+1/m^2^,保留5位小数。 输入包含多组数据,结束标记为n=m=0;
题目:输入两个整数n<m<106,输出1/n2+1/(n+1)2+…+1/m2,保留5位小数。输入包含多组数据,结束标记为n=m=0;样例输入:2 465536 6553600 0样例输出:Case 1:0.42361Case 2:0.00001原创 2021-11-07 17:29:56 · 1091 阅读 · 0 评论 -
输入正整数n<=20,输出一个n层的倒三角形。
题目:输入正整数n<=20,输出一个n层的倒三角形。例如,n=5时输出如下:原创 2021-11-06 23:42:57 · 2782 阅读 · 0 评论 -
输入包含多组数据,每组数据包含三个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100,。输入到文件结束为止。
题目:相传韩信才智过人,从不直接清点自己军队的人数,只要让士兵先后以三人一排、五人一排、七人一排地变换队形,而他每次只掠一眼排尾就知道总人数了。输入包含多组数据,每组数据包含三个非负整数a,b,c,表示每种队形排尾的人数(a<3,b<5,c<7),输出总人数的最小值(或报告无解)。已知总人数不小于10,不超过100,。输入到文件结束为止。样例输入:2 1 62 1 3样例输出:Case 1:41Case 2:No answer...原创 2021-11-03 08:48:08 · 962 阅读 · 0 评论 -
水仙花数(C++)
题目:输出100~999中的所有水仙花数。若三位数ABC满足ABC=A3+B3+C3,则称其为水仙花数。例如:153=13+53+33,所以153是水仙花数。原创 2021-11-02 12:26:06 · 1028 阅读 · 0 评论 -
输入一些整数,求出他们的最小值、最大值和平均值(保留3位小数)。 输入保证这些数都是不超过1000的整数。
题目:输入一些整数,求出他们的最小值、最大值和平均值(保留3位小数)。输入保证这些数都是不超过1000的整数。输入包含多组数据,每组数据第一行是整数个数n,第二行是n个整数。n=0为输入结束标记,程序应当忽略这组数据。相邻两组数据之间应输出一个空行。样例输入:82 8 3 5 1 7 3 64-4 6 10 00样例输出:Case 1:1 8 4.375//我是空行Case 2:-4 10 3.000...原创 2021-11-02 09:35:46 · 5124 阅读 · 0 评论 -
输入一些整数,求出他们的最小值、最大值和平均值(保留3位小数)。 输入保证这些数都是不超过1000的整数。
题目:输入一些整数,求出他们的最小值、最大值和平均值(保留3位小数)。输入保证这些数都是不超过1000的整数。样例输入:2 8 3 5 1 7 3 6样例输出:1 8 4.375原创 2021-11-01 23:03:58 · 6107 阅读 · 2 评论 -
阶乘之和(C++)
题目:输入n,计算S=1!+2!+3!+…+n!的末六位(不含前导0)。n<=106,n!表示前n个正整数之积。样例输入:10样例输出:37913原创 2021-11-01 22:30:21 · 4172 阅读 · 0 评论 -
近似计算(C++)
题目:计算:π/4=1-1/3+1/5-1/7+…,直到最后一项小于10-6分析:重复计算,可以用循环实现1e-6是10(-6);1e6是106。#include<iostream>using namespace std;void main(){ double sum = 0; for (int i = 0;; i++) { double term = 1.0 / (i * 2.0 + 1.0); //正负号轮流求 if (i % 2 == 0)原创 2021-10-30 13:25:52 · 1198 阅读 · 0 评论 -
3n+1问题(C++)
题目:猜想:对于任意大于1的自然数n,若n为奇数,则将n变为3n+1,否则变为n的一般一半。经过若干次这样的变换。例如:3->10->5->16->8->4->2->1输入n,输出变换次数。n<=109样例输入3样例输出7...原创 2021-10-30 11:33:45 · 2220 阅读 · 0 评论 -
输出所有形如aabb的4位完全平方数(即前两位数字相等,后两位数字也相等)(C++)
完全平方数:如果一个正整数 a 是某一个整数 b 的平方,那么这个正整数 a 叫做完全平方数。方法一:分析:枚举所有的aabb,判断是否为完全平方数。#include<iostream>using namespace std;#include<cmath>int main(){ for (int i = 1; i <= 9; i++) { for (int j = 0; j < +9; j++) { int n = i * 1000 +原创 2021-10-29 16:13:43 · 6569 阅读 · 0 评论 -
把数组中的所有奇数移动到所有偶数之前
**题目:**设计一个将整数数组a[0:n-1]中所有奇数移到所有偶数之前的算法。要求不另外增加存储空间且时间复杂度为O(n)思路:1.创建两个指向数组第一个元素的指针front1,front2。2.用front2使用for循环对数组进行遍历,并判断数组元素的类型(奇数\偶数)3.如果front2所指向的元素为偶数,则对下一个元素进行奇偶性判断。4.如果front2所指向的元素为奇数,则将front2所指向的元素与front1所指向的元素进行调换。5.front2所指向的元素与front1所指原创 2021-10-23 22:42:31 · 3168 阅读 · 0 评论 -
循环队列的基本操作实现(C++)
(1)建立循环队列并实现判空、入队、出队、取队头元素等基本操作;(2)在主函数中测试循环队列的基本操作:要求:1)输入一个序列入队,然后再显示队列的内容;2)显示队头元素;3)出队一个元素后,再显示队列内容。main.cpp#include<iostream>using namespace std;#include"CircQueue.h"template<class ElemType>void Show(const ElemType &e){原创 2021-10-22 18:08:41 · 2051 阅读 · 2 评论 -
使用链栈和链队列的基本操作将一个队列中的元素倒置(C++)
使用链栈和链队列的基本操作将一个队列中的元素倒置(1)实现节点类模板,放在node.h文件中;(2)实现链栈类模板,放在lk_stack.h文件中;(3)实现链队列类模板,放在lk_queue.h文件中;(4)实现队列元素的倒置,放在alg.h文件中。main.cpp#include <iostream> // 标准流操作using namespace std; // 标准库包含在命名空间std中#include "lk_stack.h" // 链栈#inc原创 2021-10-21 20:33:15 · 2324 阅读 · 1 评论 -
求两个单链表的差集,并以递增形式存储。(C++)
求两个单链表的差集,并以递增形式存储。(1)实现节点类模板,放在node.h文件中;(2)实现线性链表类模板,放在lk_list.h文件中;(3)实现lc返回la与lb表示集合的差集,并使lc中数据元素仍递增有序,放在alg.h文件中。main.cpp#include <iostream> // 标准流操作using namespace std; // 标准库包含在命名空间std中#include "lk_list.h" // 线性链表#include "原创 2021-10-21 19:58:24 · 2060 阅读 · 0 评论 -
使用链栈和链队列的基本操作,判断一个字符串是否为回文(C++)
使用链栈和链队列的基本操作,判断一个字符串是否为回文(1)实现节点类模板,放在node.h文件中;(2)实现链栈类模板,放在lk_stack.h文件中;(3)实现链队列类模板,放在lk_queue.h文件中;(4)实现字符串是否为回文的判断,放在alg.h文件中。node.h#pragma oncetemplate<class ElemType>struct Node{ //数据成员 ElemType data;//数据成分 Node<ElemType>* n原创 2021-10-21 15:01:44 · 1978 阅读 · 2 评论