每日一练c++
易小侠
可订制毕业设计。
免责声明:资料部分来源于合法的互联网渠道收集和整理,部分自己学习积累成果,供大家学习参考与交流。收取的费用仅用于收集和整理资料耗费时间的酬劳。 本人尊重原创作者或出版方,资料版权归原作者或出版方所有,本人不对所涉及的版权问题或内容负法律责任。如有侵权,请举报或通知本人删除。
展开
-
(每日一练c++)统计某一单科成绩各分数段的分布人数
统计某一单科成绩各分数段的分布人数设某班有若干人,写一程序统计某一单科成绩各分数段的分布人数,每人的成绩随机输入,输入负数表示输入结束。要求按下面的格式输出统计结果(“”表示实际分布人数) 0~3940~4950~59…… 90~100 **#include <string>#include <iostream>using namespace std;int main(){ int result[12] = {0}; int gold; ...原创 2022-02-25 22:49:38 · 2125 阅读 · 2 评论 -
(每日一练c++)两两交换链表中的节点
两两交换链表中的节点给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。示例 1:输入:head = [1,2,3,4]输出:[2,1,4,3]示例 2:输入:head = []输出:[]示例 3:输入:head = [1]输出:[1]提示:链表中节点的数目在范围[0, 100]内 0 <= Node.val <= 100进阶:你能在不修改链表节点值..原创 2022-02-25 22:44:30 · 701 阅读 · 1 评论 -
(每日一练c++)两数相加
两数相加给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可以假设除了数字 0 之外,这两个数都不会以 0开头。示例 1:输入:l1 = [2,4,3], l2 = [5,6,4]输出:[7,0,8]解释:342 + 465 = 807.示例 2:输入:l1 = [0], l2 = [0]输出:[0]示例 3:输入:l1 =...原创 2022-02-24 23:03:34 · 2327 阅读 · 7 评论 -
(每日一练c++)找出字符串中第一个只出现一次的字符
找出字符串中第一个只出现一次的字符输入描述:输入一个非空字符串输出描述:输出第一个只出现一次的字符,如果不存在输出-1示例1输入:asdfasdfo输出:o以下程序实现了这一功能:#include <iostream>#include <string>using namespace std;int main(){ string str; while (getline(cin, str)) {原创 2022-02-24 23:02:11 · 976 阅读 · 0 评论 -
(每日一练c++)二叉树的最大深度
二叉树的最大深度给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的最长路径上的节点数。说明:叶子节点是指没有子节点的节点。示例:给定二叉树[3,9,20,null,null,15,7], 3/ \9 20/ \15 7返回它的最大深度3 。#include <bits/stdc++.h>using namespace std;struct TreeNode{ int val; TreeNode ...原创 2022-02-24 23:00:48 · 573 阅读 · 0 评论 -
(每日一练c++)从前序与中序遍历序列构造二叉树
从前序与中序遍历序列构造二叉树给定一棵树的前序遍历preorder与中序遍历inorder。请构造二叉树并返回其根节点。示例 1:Input: preorder = [3,9,20,15,7], inorder = [9,3,15,20,7]Output: [3,9,20,null,null,15,7]示例 2:Input: preorder = [-1], inorder = [-1]Output: [-1]提示:1 <= preorder...原创 2022-02-23 18:40:04 · 863 阅读 · 0 评论 -
(每日一练c++)解数独
解数独编写一个程序,通过填充空格来解决数独问题。数独的解法需遵循如下规则:数字1-9在每一行只能出现一次。 数字1-9在每一列只能出现一次。 数字1-9在每一个以粗实线分隔的3x3宫内只能出现一次。(请参考示例图)数独部分空格内已填入了数字,空白格用'.'表示。示例:输入:board = [["5","3",".",".","7",".",".",".","."],["6",".",".","1","9","5",".",".","."],["...原创 2022-03-02 23:48:52 · 16765 阅读 · 3 评论 -
(每日一练c语言)分支结构问题
分支结构问题贡献者:qq_41219571实现从键盘输入一个字符时,如果该字符为小写字母,则转换为大写字母输出;如果该字符为大写字母,则转换为小写字母输出;如果为其他字符,则原样输出。以下程序实现了这一功能,请你填补空白处内容:#include<stdio.h>int main(){ char x,y; printf("请输入一个字符:"); scanf("%c",&x); if(x>='A'&&x<='Z') { y=x+原创 2022-03-02 23:49:50 · 5501 阅读 · 1 评论 -
(每日一练c++)有效的括号
有效的括号给定一个只包括'(',')','{','}','[',']'的字符串s,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。 左括号必须以正确的顺序闭合。示例 1:输入:s = "()"输出:true示例2:输入:s = "()[]{}"输出:true示例3:输入:s = "(]"输出:false示例4:输入:s = "([)]"输出:false示例5:输入:s = "{[]}"输出:t...原创 2022-02-28 21:32:21 · 5479 阅读 · 4 评论 -
(每日一练c++)最小栈
最小栈设计一个支持push,pop,top操作,并能在常数时间内检索到最小元素的栈。push(x)—— 将元素 x 推入栈中。 pop()—— 删除栈顶的元素。 top()—— 获取栈顶元素。 getMin()—— 检索栈中的最小元素。示例:输入:["MinStack","push","push","push","getMin","pop","top","getMin"][[],[-2],[0],[-3],[],[],[],[]]输出: [null,nul...原创 2022-03-05 23:09:52 · 8671 阅读 · 0 评论 -
(每日一练c++)搜索旋转排序数组
搜索旋转排序数组整数数组nums按升序排列,数组中的值互不相同。在传递给函数之前,nums在预先未知的某个下标k(0 <= k < nums.length)上进行了旋转,使数组变为[nums[k], nums[k+1], ..., nums[n-1], nums[0], nums[1], ..., nums[k-1]](下标从 0 开始计数)。例如,[0,1,2,4,5,6,7]在下标3处经旋转后可能变为[4,5,6,7,0,1,2]。给你旋转后的...原创 2022-02-28 21:31:45 · 3141 阅读 · 2 评论 -
(每日一练c++)汇总区间
汇总区间给定一个无重复元素的有序整数数组nums。返回恰好覆盖数组中所有数字的最小有序区间范围列表。也就是说,nums的每个元素都恰好被某个区间范围所覆盖,并且不存在属于某个范围但不属于nums的数字x。列表中的每个区间范围[a,b]应该按如下格式输出:"a->b",如果a != b "a",如果a == b示例 1:输入:nums = [0,1,2,4,5,7]输出:["0->2","4->5","7"]解释:区间范围是...原创 2022-02-28 21:31:10 · 913 阅读 · 1 评论 -
(每日一练c++)俄罗斯套娃信封问题
俄罗斯套娃信封问题给你一个二维整数数组 envelopes ,其中 envelopes[i] = [wi, hi] ,表示第 i 个信封的宽度和高度。当另一个信封的宽度和高度都比这个信封大的时候,这个信封就可以放进另一个信封里,如同俄罗斯套娃一样。请计算 最多能有多少个 信封能组成一组“俄罗斯套娃”信封(即可以把一个信封放到另一个信封里面)。注意:不允许旋转信封。示例 1:输入:envelopes = [[5,4],[6,4],[6,7],[2,3]]输出:3解释:最多信封的个原创 2022-02-19 08:46:06 · 1157 阅读 · 0 评论 -
(每日一练c++)最大子序和
最大子序和给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例 1:输入:nums = [-2,1,-3,4,-1,2,1,-5,4]输出:6解释:连续子数组[4,-1,2,1] 的和最大,为6 。示例 2:输入:nums = [1]输出:1示例 3:输入:nums = [0]输出:0示例 4:输入:nums = [-1]输出:-1示例 5:输入:nums = [-100000]输...原创 2022-03-04 22:56:46 · 16898 阅读 · 2 评论 -
(每日一练c++)LRU 缓存机制
LRU 缓存机制运用你所掌握的数据结构,设计和实现一个LRU (最近最少使用) 缓存机制(https://baike.baidu.com/item/LRU)。实现LRUCache类:LRUCache(int capacity)以正整数作为容量capacity初始化 LRU 缓存 int get(int key)如果关键字key存在于缓存中,则返回关键字的值,否则返回-1。 void put(int key, int value)如果关键字已经存在,则变更其数据值;...原创 2022-03-04 22:56:11 · 2462 阅读 · 0 评论 -
(每日一练c++)天际线问题
天际线问题城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。给你所有建筑物的位置和高度,请返回由这些建筑物形成的天际线。每个建筑物的几何信息由数组buildings表示,其中三元组buildings[i] = [lefti, righti, heighti]表示:lefti是第i座建筑物左边缘的x坐标。 righti是第i座建筑物右边缘的x坐标。 heighti是第i座建筑物的高度。天际线应该表示为由 “关键点” 组成的列表,格式[[...原创 2022-03-05 23:10:21 · 15665 阅读 · 2 评论 -
(每日一练c++)缺失的第一个正数
缺失的第一个正数给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。进阶:你可以实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案吗?示例 1:输入:nums = [1,2,0]输出:3示例 2:输入:nums = [3,4,-1,1]输出:2示例 3:输入:nums = [7,8,9,11,12]输出:1提示:0 <= nums.length <= 300 -2^31 <= nums[i...原创 2022-02-18 08:30:00 · 680 阅读 · 0 评论 -
(每日一练c++)区间和的个数
区间和的个数给你一个整数数组nums以及两个整数lower和upper。求数组中,值位于范围[lower, upper](包含lower和upper)之内的区间和的个数。区间和S(i, j)表示在nums中,位置从i到j的元素之和,包含i和j(i≤j)。示例 1:输入:nums = [-2,5,-1], lower = -2, upper = 2输出:3解释:存在三个区间:[0,0]、[2,2] 和 [0,2] ,对应的区间和分...原创 2022-02-18 08:30:00 · 684 阅读 · 0 评论 -
(每日一练c++)同构字符串
同构字符串给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。示例 1:输入:s = "egg", t = "add"输出:true示例 2:输入:s = "foo", t = "bar"输出:false示例 3:输入:s = "pap...原创 2022-02-17 08:57:49 · 835 阅读 · 3 评论 -
(每日一练c++)比较版本号
比较版本号给你两个版本号version1和version2,请你比较它们。版本号由一个或多个修订号组成,各修订号由一个'.'连接。每个修订号由多位数字组成,可能包含前导零。每个版本号至少包含一个字符。修订号从左到右编号,下标从 0 开始,最左边的修订号下标为 0 ,下一个修订号下标为 1 ,以此类推。例如,2.5.33和0.1都是有效的版本号。比较版本号时,请按从左到右的顺序依次比较它们的修订号。比较修订号时,只需比较忽略任何前导零后的整数值。也就是说,修订号1...原创 2022-02-17 08:54:34 · 1151 阅读 · 1 评论 -
(每日一练c++)倍数问题
倍数问题题目描述众所周知,小葱同学擅长计算,尤其擅长计算一个数是否是另外一个数的倍数。但小葱只擅长两个数的情况,当有很多个数之后就会比较苦恼。现在小葱给了你 n 个数,希望你从这 n 个数中找到三个数,使得这三个数的和是 K 的倍数,且这个和最大。数据保证一定有解。输入格式从标准输入读入数据。第一行包括 2 个正整数 n, K。第二行 n 个正整数,代表给定的 n 个数。输出格式输出到标准输出。输出一行一个整数代表所求的和。样例输入4 31 2 3 4样例原创 2022-03-01 21:41:22 · 5677 阅读 · 1 评论 -
(每日一练c++)地宫取宝
地宫取宝X 国王有一个地宫宝库,是 n×m 个格子的矩阵,每个格子放一件宝贝,每个宝贝贴着价值标签。地宫的入口在左上角,出口在右下角。小明被带到地宫的入口,国王要求他只能向右或向下行走。走过某个格子时,如果那个格子中的宝贝价值比小明手中任意宝贝价值都大,小明就可以拿起它(当然,也可以不拿)。当小明走到出口时,如果他手中的宝贝恰好是 k 件,则这些宝贝就可以送给小明。请你帮小明算一算,在给定的局面下,他有多少种不同的行动方案能获得这 k 件宝贝。输入格式第一行 3 个整数,n,原创 2022-03-01 21:40:51 · 1920 阅读 · 0 评论 -
(每日一练c++)组合总和
组合总和给定一个无重复元素的数组candidates和一个目标数target,找出candidates中所有可以使数字和为target的组合。candidates中的数字可以无限制重复被选取。说明:所有数字(包括target)都是正整数。 解集不能包含重复的组合。示例1:输入:candidates = [2,3,6,7], target = 7,输出:[[7],[2,2,3]]示例2:输入:candidates = [2,3,5], targe...原创 2022-02-26 20:35:22 · 1649 阅读 · 1 评论 -
(每日一练c++)最大数
最大数给定一组非负整数nums,重新排列每个数的顺序(每个数不可拆分)使之组成一个最大的整数。注意:输出结果可能非常大,所以你需要返回一个字符串而不是整数。示例 1:输入:nums = [10,2]输出:"210"示例2:输入:nums = [3,30,34,5,9]输出:"9534330"示例 3:输入:nums = [1]输出:"1"示例 4:输入:nums = [10]输出:"10"提示:1 <= nums.len..原创 2022-02-21 22:46:39 · 1285 阅读 · 0 评论 -
(每日一练c++)移除元素
移除元素给你一个数组nums和一个值val,你需要原地移除所有数值等于val的元素,并返回移除后数组的新长度。不要使用额外的数组空间,你必须仅使用O(1)额外空间并原地修改输入数组。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。说明:为什么返回数值是整数,但输出的答案是数组呢?请注意,输入数组是以「引用」方式传递的,这意味着在函数里修改输入数组对于调用者是可见的。你可以想象内部操作如下:// nums 是以“引用”方式传递的。也就是说...原创 2022-03-01 21:40:26 · 1966 阅读 · 0 评论 -
(每日一练c++)有序链表转换二叉搜索树
有序链表转换二叉搜索树给定一个单链表,其中的元素按升序排序,将其转换为高度平衡的二叉搜索树。本题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过 1。示例:给定的有序链表: [-10, -3, 0, 5, 9],一个可能的答案是:[0, -3, 9, -10, null, 5], 它可以表示下面这个高度平衡二叉搜索树:#include <bits/stdc++.h>using namespace std;struct Tre.原创 2022-02-12 09:33:24 · 663 阅读 · 0 评论 -
(每日一练c++)路径总和
路径总和给你二叉树的根节点root和一个表示目标和的整数targetSum,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和targetSum。叶子节点是指没有子节点的节点。示例 1:输入:root = [5,4,8,11,null,13,4,7,2,null,null,null,1], targetSum = 22输出:true示例 2:输入:root = [1,2,3], targetSum = 5输出:fals...原创 2022-02-22 21:25:51 · 327 阅读 · 0 评论 -
(每日一练c++)有序表的折半查找
有序表的折半查找贡献者:AdventureG问题描述:用有序表表示静态查找表时,通常检索函数可以用折半查找来实现。折半查找的查找过程是:首先确定待查记录所在的范围,然后逐步缩小范围直到找到或者确定找不到相应的记录为止。而每次需要缩小的范围均为上一次的一半,这样的查找过程可以被称为折半查找。第二行包含n个用空格隔开的正整数,表示n个有序的整数。输入保证这n个整数是从小到大递增的。第三行包含k个用空格隔开的正整数,表示k次查询的目标。输出:只有1行,包含k个整数,分别表示每一次的原创 2022-02-22 21:25:22 · 864 阅读 · 0 评论 -
(每日一练c++)乘积最大子数组
乘积最大子数组给你一个整数数组nums,请你找出数组中乘积最大的连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。示例 1:输入: [2,3,-2,4]输出: 6解释:子数组 [2,3] 有最大乘积 6。示例 2:输入: [-2,0,-1]输出: 0解释:结果不能为 2, 因为 [-2,-1] 不是子数组。#include <bits/stdc++.h>using namespace std;class Solution...原创 2022-02-21 22:45:01 · 1606 阅读 · 0 评论 -
(每日一练c++)六角填数
六角填数贡献者:qq_32724981题目描述如下图所示六角形中,有12个点,依次填入1~12的数字,使得每条直线上的数字之和都相同。其中,已经替你填好了点1,2,3的数字,请你计算其他位置所代表的数字是多少?输入输入仅一行,以空格隔开,分别表示已经填好的点1,2,3的数字。输出输出仅一行,以空格隔开,分别表示所有位置所代表的数字。样例输入:1 8 2样例输出:1 8 2 9 7 11 10 12 3 5 6 4以下程序实现了这一功能,请你填补空白处的原创 2022-02-21 22:44:31 · 943 阅读 · 0 评论 -
(每日一练c++)检查一个3位数是否是水仙花数
检查一个3位数是否是水仙花数检查一个3位数是否是水仙花数。输入:一个数字,比如 371,输出:x是水仙花数,如果不是,则输出:x不是水仙花数。注:x为输入的数字以下程序实现了这一功能,请你补全空白处内容:#include <iostream>using namespace std;int main(){ int a, b, c, y, n = 0; cout << "请输入三位数字:" << endl; cin &g原创 2022-02-20 15:32:28 · 1846 阅读 · 0 评论 -
(每日一练c++)单词拆分
单词拆分给定一个非空字符串s和一个包含非空单词的列表wordDict,判定s是否可以被空格拆分为一个或多个在字典中出现的单词。说明:拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。示例 1:输入: s = "leetcode", wordDict = ["leet", "code"]输出: true解释: 返回 true 因为 "leetcode" 可以被拆分成 "leet code"。示例 2:输入: s = "applepenapple"...原创 2022-02-20 15:31:56 · 1803 阅读 · 0 评论 -
(每日一练c++)同构字符串
同构字符串给定两个字符串s和t,判断它们是否是同构的。如果s中的字符可以按某种映射关系替换得到t,那么这两个字符串是同构的。每个出现的字符都应当映射到另一个字符,同时不改变字符的顺序。不同字符不能映射到同一个字符上,相同字符只能映射到同一个字符上,字符可以映射到自己本身。示例 1:输入:s = "egg", t = "add"输出:true示例 2:输入:s = "foo", t = "bar"输出:false示例 3:输入:s = "pap...原创 2022-02-16 08:57:35 · 2641 阅读 · 1 评论 -
(每日一练c++)报数游戏
报数游戏贡献者:weixin_45808110题目描述报数游戏 首先,会给他们一人一个编号,并且每个人的编号都不相同。接下来的每一回合,会给一个数,编号超过它的最小编号的人要报出自己的编号。如果没有人的编号比给出的数要大,那么编号最大的人要报出自己的编号。每个人可以重复报号。 会按照一个列表顺次报出每个回合的数,朋友们想知道每回合报出的编号应该是多少。输入输入数据共 3行。 第一行有两个整数 n,m(1≤n≤100,000,1≤m≤100,000),分别表示参与游戏的朋友的个数,和游戏的回合..原创 2022-02-16 08:57:06 · 4300 阅读 · 0 评论 -
(每日一练c++)测试次数
测试次数x星球的居民脾气不太好,但好在他们生气的时候唯一的异常举动是:摔手机。各大厂商也就纷纷推出各种耐摔型手机。x星球的质监局规定了手机必须经过耐摔测试,并且评定出一个耐摔指数来,之后才允许上市流通。x星球有很多高耸入云的高塔,刚好可以用来做耐摔测试。塔的每一层高度都是一样的,与地球上稍有不同的是,他们的第一层不是地面,而是相当于我们的2楼。如果手机从第7层扔下去没摔坏,但第8层摔坏了,则手机耐摔指数=7。特别地,如果手机从第1层扔下去就坏了,则耐摔指数=0。如果到了塔的最高层第n原创 2022-02-16 08:42:26 · 279 阅读 · 0 评论 -
(每日一练c++)求根节点到叶节点数字之和
求根节点到叶节点数字之和给你一个二叉树的根节点root,树中每个节点都存放有一个0到9之间的数字。每条从根节点到叶节点的路径都代表一个数字:例如,从根节点到叶节点的路径1 -> 2 -> 3表示数字123。计算从根节点到叶节点生成的所有数字之和。叶节点是指没有子节点的节点。示例 1:输入:root = [1,2,3]输出:25解释:从根到叶子节点路径 1->2 代表数字 12从根到叶子节点路径 1->3 代表数字 ...原创 2022-02-15 08:59:48 · 536 阅读 · 0 评论 -
(每日一练c++)阶乘后的零
阶乘后的零给定一个整数n,返回n!结果中尾随零的数量。提示n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1示例 1:输入:n = 3输出:0解释:3! = 6 ,不含尾随 0示例 2:输入:n = 5输出:1解释:5! = 120 ,有一个尾随 0示例 3:输入:n = 0输出:0提示:0 <= n <= 10^4#include <bits/stdc++.h>u...原创 2022-02-15 08:59:13 · 395 阅读 · 0 评论 -
(每日一练c++)只出现一次的数字
只出现一次的数字给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。说明:你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗?示例 1:输入: [2,2,1]输出: 1示例2:输入: [4,1,2,1,2]输出: 4#include <bits/stdc++.h>using namespace std;class Solution{public: int singleNum.原创 2022-02-14 08:51:44 · 928 阅读 · 0 评论 -
(每日一练c++)Excel表列序号
Excel表列序号给你一个字符串columnTitle,表示 Excel 表格中的列名称。返回该列名称对应的列序号。例如,A -> 1B -> 2C -> 3...Z -> 26AA -> 27AB -> 28 ...示例 1:输入: columnTitle = "A"输出: 1示例2:输入: columnTitle = "AB"输出: 28示例3:输入: columnTitle = "Z...原创 2022-02-13 09:46:27 · 746 阅读 · 0 评论 -
(每日一练c++)求前n个素数之和
求前n个素数之和题目描述求前n个素数的和。例如,前5个素数是2、3、5、7、11,它们的和是28。输入一个整数n,1<=n<=1000。输出前n个素数的和样例输入5样例输出28提示第1000个素数是7919。以下程序实现了这一功能,请你填补空白处内容:#include <iostream>using namespace std;int main(){ int n, i, j, sum, a; ci原创 2022-02-14 08:50:39 · 1879 阅读 · 0 评论