![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
题解
文章平均质量分 58
LeetCode、洛谷等OJ的题解
Ego12138
这个作者很懒,什么都没留下…
展开
-
你一定要会的埃式筛法和欧式筛法求质数
大一时学过的算法,两年之后忘的一干二净,看了网上很多文章终于又弄懂了,尽量用通俗的说法说明白,避免再忘。原题链接题目描述给定整数 n ,返回 所有小于非负整数 n 的质数的数量 。示例 1:示例输入:n = 10输出:4解释:小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。示例 2:输入:n = 0输出:0示例 3:输入:n = 1输出:0解法一:朴素算法顾名思义,地球人都能想到的算法。从2开始遍历到n,每个数都判断一下是不是质数,是的话cnt+1,最后原创 2022-05-28 17:32:46 · 855 阅读 · 0 评论 -
LeetCode--32 最长有效括号
原题链接题目描述给你一个只包含 ‘(’ 和 ‘)’ 的字符串,找出最长有效(格式正确且连续)括号子串的长度。示例 1:输入:s = “(()”输出:2解释:最长有效括号子串是 “()”示例 2:输入:s = “)()())”输出:4解释:最长有效括号子串是 “()()”示例 3:输入:s = “”输出:0思路分别设两个计数器l和r,表示目前已经存在的左括号的数量和右括号的数量,当l==r时,表示当前是一个有效的字串,更新最大值max即可。当r > l时,表示已经不可能有原创 2022-02-14 14:28:23 · 197 阅读 · 0 评论 -
LeetCode--6 Z字形变换
原题链接题目描述将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下:P A H NA P L S I I GY I R之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请你实现这个将字符串进行指定行数变换的函数:string convert(string s, int numRows);示例 1:输原创 2022-02-12 12:42:32 · 112 阅读 · 0 评论 -
动态规划---翻转字符(剑指offer-92)
原题链接题目描述如果一个由 ‘0’ 和 ‘1’ 组成的字符串,是以一些 ‘0’(可能没有 ‘0’)后面跟着一些 ‘1’(也可能没有 ‘1’)的形式组成的,那么该字符串是 单调递增 的。我们给出一个由字符 ‘0’ 和 ‘1’ 组成的字符串 s,我们可以将任何 ‘0’ 翻转为 ‘1’ 或者将 ‘1’ 翻转为 ‘0’。返回使 s 单调递增 的最小翻转次数。示例1输入:s = “00110”输出:1解释:我们翻转最后一位得到 00111.示例2输入:s = “010110”输出:2解释:我们原创 2021-10-19 21:12:41 · 1047 阅读 · 0 评论 -
动态规划---环形房屋偷盗(剑指offer-90)
原题链接题目描述一个专业的小偷,计划偷窃一个环形街道上沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组 nums ,请计算 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。示例1输入:nums = [2,3,2]输出:3解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号原创 2021-10-18 20:37:33 · 1280 阅读 · 0 评论 -
动态规划---房屋盗窃(剑指offer-89)
原题链接题目描述一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响小偷偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。给定一个代表每个房屋存放金额的非负整数数组 nums ,请计算 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。示例1输入:nums = [1,2,3,1]输出:4解释:偷窃 1 号房屋 (金额 = 1) ,然后偷窃 3 号房屋 (金额 = 3)。偷窃到的最高金额 = 1 + 3 = 4原创 2021-10-18 20:27:42 · 1506 阅读 · 0 评论 -
DFS合集---9.复原 IP(剑指offer-87)
原题链接题目描述给定一个只包含数字的字符串 s ,用以表示一个 IP 地址,返回所有可能从 s 获得的 有效 IP 地址 。你可以按任何顺序返回答案。有效 IP 地址 正好由四个整数(每个整数位于 0 到 255 之间组成,且不能含有前导 0),整数之间用 ‘.’ 分隔。例如:“0.1.2.201” 和 “192.168.1.1” 是 有效 IP 地址,但是 “0.011.255.245”、“192.168.1.312” 和 “192.168@1.1” 是 无效 IP 地址。示例1输入:s =原创 2021-10-17 20:27:47 · 1266 阅读 · 0 评论 -
DFS合集---8. 分割回文子字符串(剑指offer-86)
原题链接题目描述给定一个字符串 s ,请将 s 分割成一些子串,使每个子串都是 回文串 ,返回 s 所有可能的分割方案。回文串 是正着读和反着读都一样的字符串。示例1输入:s = “google”输出:[[“g”,“o”,“o”,“g”,“l”,“e”],[“g”,“oo”,“g”,“l”,“e”],[“goog”,“l”,“e”]]示例2输入:s = “aab”输出:[[“a”,“a”,“b”],[“aa”,“b”]]示例3输入:s = “a”输出:[[“a”]]思路假设我们从原创 2021-10-17 20:16:32 · 1302 阅读 · 0 评论 -
DFS合集---7. 生成匹配的括号 (剑指offer-85)
原题链接题目描述正整数 n 代表生成括号的对数,请设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例1输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例2输入:n = 1输出:["()"]思路既然有n对括号,那么一定有n个左括号和n个右括号。我们在生成括号序列时,对于当前来说,有两种选择:生成左括号。生成左括号的条件很简单,只要左括号的数量小于n,我们就可以生成它。生成右括号。生成右括号的条件除了小原创 2021-10-17 20:09:34 · 1326 阅读 · 0 评论 -
DFS合集---6.含有重复元素集合的全排列 (剑指offer-84)
原题链接题目描述给定一个可包含重复数字的整数集合 nums ,按任意顺序 返回它所有不重复的全排列。示例1输入:nums = [1,1,2]输出:[[1,1,2],[1,2,1],[2,1,1]]示例2输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]思路这道题和上一题的区别在于,这道题数组中有重复元素,并且要求我们最后的解集里面不可以重复。那么我们只需要加一个简单的判断:在当前位和后面的数交原创 2021-10-17 20:03:23 · 1297 阅读 · 0 评论 -
DFS合集---5.没有重复元素集合的全排列(剑指offer-83)
原题链接题目描述给定一个不含重复数字的整数数组 nums ,返回其 所有可能的全排列 。可以 按任意顺序 返回答案。示例1输入:nums = [1,2,3]输出:[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,1,2],[3,2,1]]示例2输入:nums = [0,1]输出:[[0,1],[1,0]]示例3输入:nums = [1]输出:[[1]]思路求n个数全排列,我们可以从低位起依次确定该位的情况,比如求[1,2,3]的全排列,步骤如下:先求第一位原创 2021-10-17 19:55:17 · 1299 阅读 · 0 评论 -
DFS合集---4.含有重复元素集合的组合(剑指offer-82)
原题链接题目描述给定一个可能有重复数字的整数数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次,解集不能包含重复的组合。示例1输入: candidates = [10,1,2,7,6,1,5], target = 8,输出:[[1,1,6],[1,2,5],[1,7],[2,6]]示例2输入: candidates = [2,5,2,1,2],原创 2021-10-17 18:48:37 · 1465 阅读 · 0 评论 -
DFS合集---3.允许重复选择元素的组合(剑指offer-81)
原题链接题目描述给定一个无重复元素的正整数数组 candidates 和一个正整数 target ,找出 candidates 中所有可以使数字和为目标数 target 的唯一组合。candidates 中的数字可以无限制重复被选取。如果至少一个所选数字数量不同,则两种组合是唯一的。对于给定的输入,保证和为 target 的唯一组合数少于 150 个。示例1输入: candidates = [2,3,6,7], target = 7输出: [[7],[2,2,3]]示例2输入: candi原创 2021-10-17 18:21:37 · 1224 阅读 · 0 评论 -
DFS合集---2.含有 k 个元素的组合(剑指offer-80)
原题链接题目描述给定两个整数 n 和 k,返回 1 … n 中所有可能的 k 个数的组合。示例1输入: n = 4, k = 2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]示例2输入: n = 1, k = 1输出: [[1]]思路与DFS合集第一题的思路几乎一样,建议先看第一篇:DFS合集–1.所有子集对于数组中的每个数字,只有两种情况:不将它加入集合。那么可以直接去遍历下一个数字,而遍历每个数字的操作是一样的,那么就递归调用原创 2021-10-17 18:06:45 · 1272 阅读 · 0 评论 -
DFS合集---1.所有子集(剑指offer-79)
原题链接题目描述给定一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例1输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2输入:nums = [0]输出:[[],[0]]思路对于数组中的每个数字,只有两种情况:不将它加入集合。那么可以直接去遍历下一个数字,而遍历每个数字的操作是一样的,那么就递归调用。将它原创 2021-10-17 18:01:49 · 1371 阅读 · 0 评论 -
排序数组中只出现一次的数字(剑指offer-70)
原题链接题目描述给定一个只包含整数的有序数组 nums ,每个元素都会出现两次,唯有一个数只会出现一次,请找出这个唯一的数字。示例1输入: nums = [1,1,2,3,3,4,4,8,8]输出: 2示例2输入: nums = [3,3,7,7,10,11,11]输出: 10思路1第一种解法用常规的异或,异或的性质:同位相同为0,不同为1。那么两个相同的数字异或的结果就是0了。所以我们只需要扫描一遍数组,把所有的数都异或起来,最后的异或值就是只出现一次的那个数了。时间复杂度为O(n)原创 2021-10-08 20:53:24 · 1824 阅读 · 0 评论 -
最大的异或(剑指offer-67)
原题链接题目描述给定一个整数数组 nums ,返回 nums[i] XOR nums[j] 的最大运算结果,其中 0 ≤ i ≤ j < n示例1输入:nums = [3,10,5,25,2,8]输出:28解释:最大运算结果是 5 XOR 25 = 28.示例2输入:nums = [0]输出:0示例3输入:nums = [2,4]输出:6示例4输入:nums = [8,10,2]输出:10示例5输入:nums = [14,70,53,83,49,91,36,80,92原创 2021-10-07 20:27:54 · 1700 阅读 · 0 评论 -
实现前缀树(字典树)(剑指offer-62)
原题链接题目描述Trie(发音类似 “try”)或者说 前缀树 是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补完和拼写检查。请你实现 Trie 类:Trie() 初始化前缀树对象。void insert(String word) 向前缀树中插入字符串 word 。boolean search(String word) 如果字符串 word 在前缀树中,返回 true(即,在检索之前已经插入);否则,返回 false 。boolean st原创 2021-10-04 17:30:35 · 1821 阅读 · 0 评论 -
二叉搜索树中两个节点之和(剑指offer-56)
原题链接题目描述给定一个二叉搜索树的 根节点 root 和一个整数 k , 请判断该二叉搜索树中是否存在两个节点它们的值之和等于 k 。假设二叉搜索树中节点的值均唯一。示例1输入: root = [8,6,10,5,7,9,11], k = 12输出: true解释: 节点 5 和节点 7 之和等于 12示例2输入: root = [8,6,10,5,7,9,11], k = 22输出: false解释: 不存在两个节点值之和为 22 的节点思路1栈 + 哈希表。哈希表里存放遍历过的原创 2021-09-27 09:15:42 · 2418 阅读 · 0 评论 -
序列化与反序列化二叉树(剑指offer-48)
原题链接题目描述序列化是将一个数据结构或者对象转换为连续的比特位的操作,进而可以将转换后的数据存储在一个文件或者内存中,同时也可以通过网络传输到另一个计算机环境,采取相反方式重构得到原数据。请设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。思路题目说白了就是让你设计两个算法,一个是把二叉树转成字符串,一个是把字符串转成二叉树。前序遍历比较适合序列化二叉树,先把根节点序列化原创 2021-09-25 17:09:25 · 2384 阅读 · 0 评论 -
直方图最大矩形面积(剑指offer-39)
原题链接题目描述给定非负整数数组 heights ,数组中的数字用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。求在该柱状图中,能够勾勒出来的矩形的最大面积。示例1输入:heights = [2,1,5,6,2,3]输出:10解释:最大的矩形为图中红色区域,面积为 10示例2输入: heights = [2,4]输出: 4第1种思路(分治法)对于某个柱子来说,最大矩形有三种情况。1.最大矩形是以这个柱子为顶部的。2.最大矩形的起始柱子和终点柱子都在这个柱子的原创 2021-09-22 20:23:50 · 3579 阅读 · 0 评论 -
最近最少使用缓存(LRU算法)Java实现 (剑指offer-31)
原题链接题目描述运用所掌握的数据结构,设计和实现一个 LRU (Least Recently Used,最近最少使用) 缓存机制 。实现 LRUCache 类:LRUCache(int capacity) 以正整数作为容量 capacity 初始化 LRU 缓存int get(int key) 如果关键字 key 存在于缓存中,则返回关键字的值,否则返回 -1 。void put(int key, int value) 如果关键字已经存在,则变更其数据值;如果关键字不存在,则插入该组「关键字-原创 2021-09-17 21:22:01 · 2758 阅读 · 0 评论 -
插入、删除和随机访问都是 O(1) 的容器(剑指offer-30)
原题链接题目描述设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构:insert(val):当元素 val 不存在时返回 true ,并向集合中插入该项,否则返回 false 。remove(val):当元素 val 存在时返回 true ,并从集合中移除该项,否则返回 false 。getRandom:随机返回现有集合中的一项。每个元素应该有 相同的概率 被返回示例1输入: inputs = [“RandomizedSet”, “insert”, “remove”, “in原创 2021-09-17 20:30:16 · 2963 阅读 · 0 评论 -
链表中环的入口结点(剑指offer-22)
原题链接题目描述给定一个链表,返回链表开始入环的第一个节点。 从链表的头节点开始沿着 next 指针进入环的第一个节点为环的入口节点。如果链表无环,则返回 null。为了表示给定链表中的环,我们使用整数 pos 来表示链表尾连接到链表中的位置(索引从 0 开始)。 如果 pos 是 -1,则在该链表中没有环。注意,pos 仅仅是用于标识环的情况,并不会作为参数传递到函数中。说明:不允许修改给定的链表。示例1输入:head = [3,2,0,-4], pos = 1输出:返回索引为 1 的链表原创 2021-09-15 16:57:21 · 3022 阅读 · 0 评论 -
和为k的数组(剑指offer-10) (前缀和&&哈希表)
原题链接题目描述给定一个整数数组和一个整数 k ,请找到该数组中和为 k 的连续子数组的个数。示例1输入:nums = [1,1,1], k = 2输出: 2解释: 此题 [1,1] 与 [1,1] 为两种不同的情况示例2输入:nums = [1,2,3], k = 3输出: 2第1种思路前缀和,扫一遍数组,求出下标从0-i的数字之和,比如 [1, 2, 3],那么前缀和数组为[1, 3, 6]。然后两层循环,后面的和减去前面的和,即为两指针区间内的和,找到每一个满足条件的并记录,时间原创 2021-09-10 20:08:45 · 2381 阅读 · 0 评论 -
求前n个数字二进制形式中1的个数---几种思路,层层递进(剑指offer-03)(位运算)
原题链接题目描述给定一个非负整数 n ,请计算 0 到 n 之间的每个数字的二进制表示中 1 的个数,并输出一个数组。示例1输入: n = 2输出: [0,1,1]解释:0 --> 01 --> 12 --> 10示例2输入: n = 5输出: [0,1,1,2,1,2]解释:0 --> 01 --> 12 --> 103 --> 114 --> 1005 --> 101第0种思路最笨的方法, 用循环先将每个十进原创 2021-09-06 19:31:07 · 2922 阅读 · 1 评论 -
编程俱乐部9.13比赛题解
1. ls的致富宝典思路每一个数乘它的后面再相加,可以用乘法分配律等价于这个数乘后面所有数的和。用后缀和sum[i]来表示a[i]到a[n - 1]的和。从第一个数开始循环,用这个数乘后面的数的和,加到ans中。#include <bits/stdc++.h>using namespace std;const long long mod = 1e9 + 7;long long a[200005], sum[200005];int n;int main(){ c原创 2020-09-14 15:53:20 · 5829 阅读 · 0 评论 -
编程俱乐部9.12比赛总结
1. 面试题目背景大三的qdl不考研,准备出去找实习工作。他面试的单位非常的nice,愿意给他报销他的路费。但是有一个要求,就是必须去指定的城市面试。mdl作为公司的财务,需要最大的节约报销的开支,请你帮帮她。题目描述算上qdl一共有2K个人去该公司面试。该公司共有2个面试地点 : 北京, 深圳。下面给出每个人到北京和深圳需要的花费是多少。要求每个面试地点都要有K个人。请求出公司报销的最低费用是多少。输入格式一个数N,表示共有N人。N = 2*k连续N行,每行2个数,第一个数是到北京所需原创 2020-09-13 13:47:37 · 5909 阅读 · 0 评论 -
Oulipo题解----哈希Hash
原题链接【题目描述】给出两个字符串s1,s2((只有大写字母),求s1在s2中出现多少次。例如:s1=“ABA”,s2=“ABAABA”,答案为2。【输入】输入T组数据,每组数据输出结果。【输出】如题述。【输入样例】3BAPCBAPCAZAAZAAZAAZAVEEDIAVERDXIVYERDLAN【输出样例】130【提示】1≤s1的长度 ≤104 ,1≤s2的长度 ≤106 。思路哈希算法就是将一个字符串转化为一个数字,那么只要求出子串的哈希值和母串的前k原创 2020-08-03 13:37:24 · 6678 阅读 · 0 评论 -
【POJ】Radar Installation题解
原题链接DescriptionAssume the coasting is an infinite straight line. Land is in one side of coasting, sea in the other. Each small island is a point locating in the sea side. And any radar installation, locating on the coasting, can only cover d distance, so原创 2020-06-21 13:53:49 · 5930 阅读 · 0 评论 -
【牛客】Jelly题解
原题链接题目描述Nancy喜欢吃果冻!Nancy钻进了一个n×n×n的果冻里,她想从(1,1,1)一路上、下、左、右、前、后六个方向吃到(n,n,n)。但果冻毕竟是有许多口味的,标记为*的口味是Nancy不愿意吃的,其余的果冻均标记为.Nancy不想吃坏肚子,于是她想尽可能少的吃果冻。下面给出果冻的情况,请你帮忙计算一下她能吃多少块果冻叭!输入描述:第一行:一个整数n。接下来n层,每组n行,每行n列,表示果冻(i,j,k)的情况(如题目描述所述)。数据满足:1 \leq n \leq 1原创 2020-06-08 12:17:55 · 6209 阅读 · 1 评论 -
【牛客】幸运数字II题解
原题链接题目描述定义一个数字为幸运数字当且仅当它的所有数位都是4或者7。比如说,47、744、4都是幸运数字而5、17、467都不是。定义next(x)为大于等于x的第一个幸运数字。给定l,r,请求出next(l) + next(l + 1) + … + next(r - 1) + next®。输入描述:两个整数l和r (1 <= l <= r <= 1000,000,000)。输出描述:一个数字表示答案。示例1输入2 7输出33示例2输入7 7输出7原创 2020-06-06 16:19:48 · 16220 阅读 · 0 评论 -
【牛客】完全平方数题解
原题链接题目描述多次查询[l,r]范围内的完全平方数个数定义整数x为完全平方数当且仅当可以找到整数y使得y*y=x输入描述:第一行一个数n表示查询次数之后n行每行两个数l,r输出描述:对于每个查询,输出一个数表示答案示例1输入51 31 42 44 41 1000000000输出121131622备注:n <= 1000000<= l <= r <= 1000000000思路1.对于一个数x, [0, x]内的完全平方数个数为sq原创 2020-05-22 09:04:46 · 7073 阅读 · 0 评论 -
【牛客】新建 Microsoft Office Word 文档题解
原题链接题目描述CSL正在学习《计算机办公自动化》文件的建立与删除。CSL发现,当他新建一个word文档时,会得到一个名为"新建 Microsoft Office Word 文档.doc"的文件,再新建一个,则名为"新建 Microsoft Office Word 文档(2).doc",再新建,便是"新建 Microsoft Office Word 文档(3).doc"。不断新建,编号不断递增。倘若他已经新建了三个文档,然后删除了"新建 Microsoft Office Word 文档(2).doc"原创 2020-05-20 15:06:59 · 6057 阅读 · 0 评论 -
【牛客】铺地毯题解
原题地址题目描述为了准备一个独特的颁奖典礼,组织者在会场的一片矩形区域(可看做是平面直角坐标系的第一象限)铺上一些矩形地毯。一共有n张地毯,编号从1到n。现在将这些地毯按照编号从小到大的顺序平行于坐标轴先后铺设,后铺的地毯覆盖在前面已经铺好的地毯之上。地毯铺设完成后,组织者想知道覆盖地面某个点的最上面的那张地毯的编号。注意:在矩形地毯边界和四个顶点上的点也算被地毯覆盖。输入描述:第一行,一个整数n,表示总共有n张地毯。接下来的n行中,第i+1行表示编号i的地毯的信息,包含四个正整数a,b,g,k,原创 2020-05-16 15:02:54 · 6543 阅读 · 0 评论 -
【牛客】数学考试题解
原题地址题目描述今天qwb要参加一个数学考试,这套试卷一共有n道题,每道题qwb能获得的分数为ai,qwb并不打算把这些题全做完,他想选总共2k道题来做,并且期望他能获得的分数尽可能的大,他准备选2个不连续的长度为k的区间,即[L,L+1,L+2,…,L+k-1],[R,R+1,R+2,…,R+k-1](R >= L+k)。输入描述:第一行一个整数T(T<=10),代表有T组数据接下来一行两个整数n,k,(1<=n<=200,000),(1<=k,2k <=原创 2020-05-15 15:47:53 · 6203 阅读 · 0 评论 -
[USACO08FEB]Meteor Shower S题解
求最短时间,用BFS,timee数组表示每个格子落下流星 的最短时间,因为她要在流星落下前就跑出去for(int i = 0; i< 305; i++) { for(int j = 0; j < 305; j++) { book[i][j] = 0; timee[i][j] = inf; ...原创 2020-04-14 11:56:07 · 5958 阅读 · 0 评论 -
数列分段II题解
1.题目给出数据范围,而且出现了最大值最小或最小值最大这样的字眼,所以采用二分2.题目求的是每段的和的最大值,所以左边界为所有数据的最大值,右边界为所有数的和,即cin >> n >> m; for(int i = 1; i <= n; i++) { cin >> a[i]; l = max(a[i], ...原创 2020-04-05 14:35:47 · 6204 阅读 · 0 评论 -
编程俱乐部12月月赛总结
1. 冬至吃饺子题目背景今天是冬至日,是时候吃饺子了。今天中午,某学校大发善心说请所有同学在教学楼下集合,排成一横队,会免费发放饺子。当所有准备领取饺子的同学在楼下排好的时候,一位有强迫症的老师请所有的男同学站在所有女生的右边。我们已知每秒钟所有排在左边的男生会与他相邻的并且在右边的女生交换位置。问多少秒钟之后所有的男生会在所有的女生右边呢?参与的同学人数不超过20000题目描述无输入...原创 2019-12-23 20:08:59 · 5788 阅读 · 0 评论