第 7 天 #
牛客 | 小苯的数字排序 #
题目
小苯的数字排序 (NC297830)
题号: NC297830
时间限制: C/C++/Rust/Pascal 1秒,其他语言2秒
空间限制: C/C++/Rust/Pascal 1024 M,其他语言2048 M
题目描述
$\hspace{15pt}$ 小苯有 $n$ 个数字 $a_1, a_2, \dots, a_n$ ,他希望将这些数字按照以下规则排序:
$\hspace{20pt}_\texttt{1.}$ 所有偶数排在所有奇数前面;
${\hspace{20pt}}_\texttt{2.}$ 在规则 1 的基础上,偶数与偶数之间、奇数与奇数之间,都按照数值从小到大的顺序排列。
$\hspace{15pt}$ 请你帮他排出一个合理的顺序吧。
输入描述
$\hspace{15pt}$ 每个测试文件均包含多组测试数据。第一行输入一个整数 $T\left(1\leqq T\leqq 10^5\right)$ 代表数据组数,每组测试数据描述如下:
$\hspace{15pt}$ 第一行一个正整数 $n\left(1 \leqq n \leqq 2 \times 10^5\right)$ 表示数字的个数。
$\hspace{15pt}$ 第二行 $n$ 个正整数 $a_1, a_2, \dots, a_n\left(1 \leqq a_i \leqq 10^9\right)$ ,表示小苯的 $n$ 个数字。
$\hspace{15pt}$ 除此之外,保证单个测试文件的 $n$ 之和不超过 $2 \times 10^5$ 。
输出描述
$\hspace{15pt}$ 对于每一组测试数据,新起一行输出 $n$ 个数字,表示按小苯的要求排好序的结果。
示例
示例 1
输入:
2 5 1 2 3 4 6 3 1 1 2输出:
2 4 6 1 3 2 1 1说明
对于第一组测试数据,偶数集合为 ${2, 4, 6}$ ,奇数集合为 ${1, 3}$ 。 偶数内部升序排列为 ${2, 4, 6}$ ,奇数内部升序排列为 ${1, 3}$ 。根据规则,偶数在前,奇数在后,拼接得到最终结果: ${2, 4, 6, 1, 3}$ 。
洛谷 | 成绩排序 #
题目
B2159 成绩排序
题目描述
给出班里某门课程的成绩单,请你按成绩从高到低对成绩单排序输出,如果有相同分数则名字字典序小的在前。
输入格式
第一行为 $n (0 < n < 20)$,表示班里的学生数目;
接下来的 $n$ 行,每行为每个学生的名字和他的成绩, 中间用单个空格隔开。名字只包含字母且长度不超过 $20$,成绩为一个不大于 $100$ 的非负整数。
输出格式
把成绩单按分数从高到低的顺序进行排序并输出,每行包含名字和分数两项,之间有一个空格。
输入输出样例 #1
输入 #1
4 Kitty 80 Hanmeimei 90 Joey 92 Tim 28输出 #1
Joey 92 Hanmeimei 90 Kitty 80 Tim 28
力扣 | 回文数 #
题目
题目描述
给你一个整数
x,如果x是一个回文整数,返回true;否则,返回false。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。
- 例如,
121是回文,而123不是。
示例 1:
输入:x = 121 输出:true示例 2:
输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:
输入:x = 10 输出:false 解释:从右向左读, 为 01 。因此它不是一个回文数。
提示:
-231 <= x <= 231 - 1
进阶:你能不将整数转为字符串来解决这个问题吗?