01 2024 档案
摘要:1.题目介绍 假设你是一家合金制造公司的老板,你的公司使用多种金属来制造合金。现在共有 n 种不同类型的金属可以使用,并且你可以使用 k 台机器来制造合金。每台机器都需要特定数量的每种金属来创建合金。 对于第 i 台机器而言,创建合金需要 composition[i][j] 份 j 类型金属。最初,
阅读全文
摘要:1.题目介绍 【深基7.例9】最厉害的学生 题目描述 现有 名同学参加了期末考试,并且获得了每名同学的信息:姓名(不超过 个字符的仅有英文小写字母的字符串)、语文、数学、英语成绩(均为不超过 的自然数)。总分最高的学生就是最厉害的,请输出最厉害的学生各项信息(
阅读全文
摘要:1.题目介绍 赦免战俘 题目背景 借助反作弊系统,一些在月赛有抄袭作弊行为的选手被抓出来了! 题目描述 现有 名作弊者站成一个正方形方阵等候 kkksc03 的发落。kkksc03 决定赦免一些作弊者。他将正方形矩阵均分为 4 个更小的正方形矩阵
阅读全文
摘要:1.题目介绍 【深基7.例7】计算阶乘 题目描述 求 ,也就是 。 挑战:尝试不使用循环语句(for、while)完成这个任务。 输入格式 第一行输入一个正整数 。 输出格式 输出一个正整数,表示 。
阅读全文
摘要:1.题目介绍 【深基7.例4】歌唱比赛 题目描述 名同学参加歌唱比赛,并接受 名评委的评分,评分范围是 到 分。这名同学的得分就是这些评委给分中去掉一个最高分,去掉一个最低分,剩下 个评分的平均数
阅读全文
摘要:1.题目介绍 【深基7.例3】闰年展示 题目描述 输入 ,输出 区间中闰年个数,并在下一行输出所有闰年年份数字,使用空格隔开。 输入格式 输入两个正整数 ,以空格隔开。 输出格式 第一行输出一个正整数,表示 区间中闰年个数。 第二行
阅读全文
摘要:1.题目介绍 【深基7.例2】质数筛 题目描述 输入 个不大于 的正整数。要求全部储存在数组中,去除掉不是质数的数字,依次输出剩余的质数。 输入格式 第一行输入一个正整数 ,表示整数个数。 第二行输入 个正整数 ,以空格隔开。 输出格
阅读全文
摘要:1.题目介绍 2.题解 2.1 二分查找(递归实现) 思路 利用递归+二分查找实现对于目标数target索引位置(存在)或者插入位置的索引(不存在) 1.递归返回条件: left > right,在通过二分法寻找到最接近target的值nums[mid]依旧不等于target,也就是left ==
阅读全文
摘要:1.题目介绍 2.题解 2.1 模拟 思路 有一个大坑,题目给你的小人顺序是按逆时针给的,不是顺时针!!!跟顺时针相比掉一下顺序就行。 看似一共有四种情况:[0,0],[0,1],[1,0],[1,1], 其实可以简化分为两种情况,因为[0,0]和[1,1]都代表你要顺时针数,[1,0],[0,1]
阅读全文
摘要:1.题目介绍 [NOIP2015 普及组] 扫雷游戏 题目背景 NOIP2015 普及组 T2 题目描述 扫雷游戏是一款十分经典的单机小游戏。在 行 列的雷区中有一些格子含有地雷(称之为地雷格),其他格子不含地雷(称之为非地雷格)。玩家翻开一个非地雷格时,该格将会出现一个数字
阅读全文
摘要:1.题目介绍 [NOIP2003 普及组] 乒乓球 题目背景 国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的普及。其中 分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白
阅读全文
摘要:1.题目介绍 语句解析 题目背景 木有背景…… 题目描述 一串长度不超过 的 PASCAL 语言代码,只有 三个变量,而且只有赋值语句,赋值只能是一个一位的数字或一个变量,每条赋值语句的格式是 [变量]:=[变量或一位整数];。未赋值的变量值为 输出
阅读全文
摘要:1.题目介绍 2.题解 2.1 枚举 思路 这里你只要知道 num % 2 相当于是取到二进制最后一位, num / 2 是将二进制整体向右推移一位即可 代码 class Solution { public: int sumIndicesWithKSetBits(vector<int>& nums,
阅读全文
摘要:1.题目介绍 斯诺登的密码 题目背景 根据斯诺登事件出的一道水题 题目描述 (1)找出句子中所有用英文表示的数字 ,列举在下: 正规:one two three four five six seven eight nine ten eleven twelve thirtee
阅读全文
摘要:1.题目介绍 数字反转(升级版) 题目背景 以下为原题面,仅供参考: 给定一个数,请将该数各个位上数字反转得到一个新数。 这次与 NOIp2011 普及组第一题不同的是:这个数可以是小数,分数,百分数,整数。整数反转是将所有数位对调;小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分
阅读全文
摘要:1.题目 单词覆盖还原 题目描述 一个长度为 的字符串中被反复贴有 boy 和 girl 两单词,后贴上的可能覆盖已贴上的单词(没有被覆盖的用句点表示),最终每个单词至少有一个字符没有被覆盖。问贴有几个 boy 几个 girl? 输入格式 一行被反复贴有 boy 和 girl 两单词的字
阅读全文
摘要:1.题目介绍 honoka的键盘 题目背景 honoka 有一个只有两个键的键盘。 题目描述 一天,她打出了一个只有这两个字符的字符串。当这个字符串里含有 VK 这个字符串的时候,honoka 就特别喜欢这个字符串。所以,她想改变至多一个字符(或者不做任何改变)来最大化这个字符串内 VK 出现的次数
阅读全文
摘要:1.题目介绍 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 字符 数值 I 1 V 5 X 10 L 50 C 100 D 500 M 1000 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为
阅读全文
摘要:1.题目介绍 手机 题目描述 一般的手机的键盘是这样的: 要按出英文字母就必须要按数字键多下。例如要按出 就得按 两下,第一下会出 ,而第二下会把 变成 。 键按一下会出一个空格。 你的任务是读取若干句
阅读全文
摘要:1.题目介绍 给你一个长度为 n 下标从 0 开始的整数数组 maxHeights 。 你的任务是在坐标轴上建 n 座塔。第 i 座塔的下标为 i ,高度为 heights[i] 。 如果以下条件满足,我们称这些塔是 美丽 的: 1 <= heights[i] <= maxHeights[i] he
阅读全文
摘要:1.题目介绍 [NOIP2011 普及组] 统计单词数 题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数。 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置。注意
阅读全文
摘要:1.题目介绍 【深基6.例6】文字处理软件 题目描述 你需要开发一款文字处理软件。最开始时输入一个字符串作为初始文档。可以认为文档开头是第 个字符。需要支持以下操作: 1 str:后接插入,在文档后面插入字符串 ,并输出文档的字符串; 2 a b:截取文档
阅读全文
摘要:1.题目介绍 [NOIP2018 普及组] 标题统计 题目背景 NOIP2018 普及组 T1 题目描述 凯凯刚写了一篇美妙的作文,请问这篇作文的标题中有多少个字符? 注意:标题中可能包含大、小写英文字母、数字字符、空格和换行符。统计标题字符数时,空格和换行符不计算在内。 输入格式 输入文件只有一行
阅读全文
摘要:1.题目介绍 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n = 3 输出:["((()))","(()())","(())()","()(())","()()()"] 示例 2: 输入:n = 1 输出:["()"] 提示: 1
阅读全文
摘要:1.题目介绍 口算练习题 题目描述 王老师正在教简单算术运算。细心的王老师收集了 道学生经常做错的口算题,并且想整理编写成一份练习。 编排这些题目是一件繁琐的事情,为此他想用计算机程序来提高工作效率。王老师希望尽量减少输入的工作量,比如 的算式最好只要输
阅读全文
摘要:1.题目介绍 2.题解 2.1 双层循环 思路 注意到这里:s1 = s0 + 1 。所以是以较小数开始的,极大简化了题目难度 接下来我们便可以通过数组长度进行判断了: 若是偶数,比如像3,4,3,4, 此时必有 4 - 3 = 1,即 偶数的时候应该检验1 而若是奇数,比如像3,4,3, 此时必有
阅读全文
摘要:1.题目介绍 给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。 示例 1 : 输入: 2736 输出: 7236 解释: 交换数字2和数字7。 示例 2 : 输入: 9973 输出: 9973 解释: 不需要交换。 注意: 给定数字的范围是 [0, 10^8] 2.题解
阅读全文
摘要:1.题目介绍 [NOIP2008 提高组] 笨小猴 题目描述 笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大! 这种方法的具体描述如下:假设 是单词中出现次数最多的字母的出现次数,\
阅读全文
摘要:1.题目介绍 A-B 数对 题目背景 出题是一件痛苦的事情! 相同的题目看多了也会有审美疲劳,于是我舍弃了大家所熟悉的 A+B Problem,改用 A-B 了哈哈! 题目描述 给出一串正整数数列以及一个正整数 ,要求计算出所有满足 的数对的个数(不同位置的数字
阅读全文
摘要:1.题目介绍 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1: 输入:nums = [1,2,0] 输出:3 示例 2: 输入:nums = [3,4,-1,1] 输出:2 示例 3: 输入
阅读全文
摘要:1.题目介绍 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。 void push(int val) 将元素val推入堆栈。 void pop() 删除堆栈顶部的元素。 int top() 获
阅读全文
摘要:1.题目介绍 小书童——凯撒密码 题目背景 某蒟蒻迷上了 “小书童”,有一天登陆时忘记密码了(他没绑定邮箱 or 手机),于是便把问题抛给了神犇你。 题目描述 蒟蒻虽然忘记密码,但他还记得密码是由一个字符串组成。密码是由原文字符串(由不超过 50 个小写字母组成)中每个字母向后移动 位形
阅读全文
摘要:1.题目介绍 2. 题解 2.1 字符串大小写转换 思路 str[i] -= 'a' -'A'; 注意这里转换方式,即减去偏移量(ASCII码表中,'a'在'A'前面,如果记不得偏移量,就直接写'a'-'A'即可) 代码 #include<bits/stdc++.h> using namespace
阅读全文
摘要:1.题目介绍 [AHOI2001] 彩票摇奖 题目描述 为了丰富人民群众的生活、支持某些社会公益事业,北塔市设置了一项彩票。该彩票的规则是: 每张彩票上印有 个各不相同的号码,且这些号码的取值范围为 。 每次在兑奖前都会公布一个由七个各不相同的号码构成的中奖号码。
阅读全文
摘要:1.题目介绍 【深基5.例7】工艺品制作 题目描述 现有一个长宽高分别为 组成的实心玻璃立方体,可以认为是由 的数个小方块组成的,每个小方块都有一个坐标 。现在需要进行 次切割。每次切割给出 \((x_
阅读全文
摘要:1.题目介绍 2.题解 2.1 模拟 思路 模拟,使用二维数组记录每一块地皮实际被覆盖情况即可 代码 #include<bits/stdc++.h> using namespace std; int main(){ int n, m; cin >> n >> m; vector<vector<int
阅读全文
摘要:1.题目介绍 2.题解 2.1 二维数组 思路 主要熟悉vector创建二维数组的方法 vector<vector> ans(N,vector(3)); 这里第一个元素表明数组大小,第二个元素表明该二维数组的所有元素初始化为一个大小为3的一维数组 vector(3) 是一种匿名对象(anonymou
阅读全文
摘要:1.题目介绍 [NOIP2005 普及组] 校门外的树 题目描述 某校大门外长度为 的马路上有一排树,每两棵相邻的树之间的间隔都是 米。我们可以把马路看成一个数轴,马路的一端在数轴 的位置,另一端在 的位置;数轴上的每个整数点,即 \(0,1,2,\d
阅读全文
摘要:1.题目介绍 给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请不要使用除法,且在 O(n) 时间复杂度
阅读全文
摘要:1.题目介绍 2.题解 本题的方法被称为「快速幂算法」,有递归和迭代两个版本。这篇题解会从递归版本的开始讲起,再逐步引出迭代的版本。 当指数 n为负数时,我们可以计算 x^-n再取倒数得到结果,因此我们只需要考虑 n 为自然数的情况。 2.1 模拟(不推荐,时间复杂度过高) 思路 分为n>=0, n
阅读全文
摘要:1.题目介绍 给你一个字符串 s,找到 s 中最长的回文子串。 如果字符串的反序与原始字符串相同,则该字符串称为回文字符串。 示例 1: 输入:s = "babad" 输出:"bab" 解释:"aba" 同样是符合题意的答案 示例 2: 输入:s = "cbbd" 输出:"bb" 2.题解 2.1
阅读全文
摘要:1.题目介绍 给定一个单链表 L 的头节点 head ,单链表 L 表示为: L0 → L1 → … → Ln - 1 → Ln 请将其重新排列后变为: L0 → Ln → L1 → Ln - 1 → L2 → Ln - 2 → … 不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 例
阅读全文
摘要:1.题目介绍 给你链表的头结点 head ,请将其按 升序 排列并返回 排序后的链表 。 示例 1: 输入:head = [4,2,1,3] 输出:[1,2,3,4] 2.题解 在147.对链表进行插入排序中我们使用插入排序的方式对于链表进行排序 插入排序的时间复杂度是 O(n^2),其中 n 是链
阅读全文
摘要:1.题目介绍 给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 2.题解 补充-建堆过程的时间复杂度为O(n)而不是\(O(n
阅读全文
摘要:1.题目介绍 给你一个整数数组 nums,请你将该数组升序排列。 示例 1: 输入:nums = [5,2,3,1] 输出:[1,2,3,5] 示例 2: 输入:nums = [5,1,1,2,0,0] 输出:[0,0,1,1,2,5] 2.题解 2.1 归并排序(递归版本) 思路 归并排序利用了分
阅读全文
摘要:1.题目介绍 给定单个链表的头 head ,使用 插入排序 对链表进行排序,并返回 排序后链表的头 。 插入排序 算法的步骤: 1.插入排序是迭代的,每次只移动一个元素,直到所有元素可以形成一个有序的输出列表。 2.每次迭代中,插入排序只从输入数据中移除一个待排序的元素,找到它在序列中适当的位置,并
阅读全文
摘要:1.题目介绍 题目地址(24. 两两交换链表中的节点 - 力扣(LeetCode)) https://leetcode.cn/problems/swap-nodes-in-pairs/ 题目描述 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本
阅读全文
摘要:1.题目介绍 给你一个数组 nums 。数组「动态和」的计算公式为:runningSum[i] = sum(nums[0]…nums[i]) 。 请返回 nums 的动态和。 示例 1: 输入:nums = [1,2,3,4] 输出:[1,3,6,10] 解释:动态和计算过程为 [1, 1+2, 1
阅读全文
摘要:1.题目介绍 给你一个整数数组 nums 和一个整数 k ,请你统计并返回 该数组中和为 k 的子数组的个数 。 子数组是数组中元素的连续非空序列。 示例 1: 输入:nums = [1,1,1], k = 2 输出:2 示例 2: 输入:nums = [1,2,3], k = 3 输出:2 提示:
阅读全文
摘要:1.问题 Dev-C++默认设置中是不支持C++11版本特性的,如Lambda表达式,nullptr等均不提供支持 2.解决 设置编译选项 编译时加上命令-std==c++11即可
阅读全文