知识点: 排序
描述
给定一些同学的信息(名字,成绩)序列,请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩
都按先录入排列在前的规则处理。
例示:
jack 70
peter 96
Tom 70
smith 67
从高到低 成绩
peter 96
jack 70
Tom 70
smith 67
从低到高
smith 67
jack 70
Tom 70
peter 96
注:0代表从高到低,1代表从低到高
数据范围:人数:1\le n \le 200\1≤n≤200
进阶:时间复杂度:O(nlogn)\O(nlogn) ,空间复杂度:O(n)\O(n)
输入描述:
第一行输入要排序的人的个数n,第二行输入一个整数表示排序的方式,之后n行分别输入他们的名字和成绩,以一个空格隔开
输出描述:
按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开
示例1
输入:3
0
fang 90
yang 50
ning 70
输出:fang 90
ning 70
yang 50
示例2
输入:3
1
fang 90
yang 50
ning 70
输出:
yang 50
ning 70
fang 90
牛客HJ Python
n = int(input())
t = int(input())
l = []
for i in range(n):
name,score = input().split()
l.append((name, int(score)))
if t == 1:
l.sort(key=lambda x:x[1], reverse=False)
else:
l.sort(key=lambda x:x[1], reverse=True)
for i in l:
print(i[0],i[1])
<p>知识点: <code>排序</code></p>
<p><strong>描述</strong><br />
给定一些同学的信息(名字,成绩)序列,请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩<br />
都按先录入排列在前的规则处理。</p>
<p>例示:<br />
jack 70<br />
peter 96<br />
Tom 70<br />
smith 67</p>
<p>从高到低 成绩<br />
peter 96<br />
jack 70<br />
Tom 70<br />
smith 67</p>
<p>从低到高<br />
smith 67<br />
jack 70<br />
Tom 70<br />
peter 96</p>
<p>注:0代表从高到低,1代表从低到高</p>
<p>数据范围:人数:1\le n \le 200\1≤n≤200<br />
进阶:时间复杂度:O(nlogn)\O(nlogn) ,空间复杂度:O(n)\O(n)</p>
<p><strong>输入描述:</strong><br />
第一行输入要排序的人的个数n,第二行输入一个整数表示排序的方式,之后n行分别输入他们的名字和成绩,以一个空格隔开</p>
<p><strong>输出描述:</strong><br />
按照指定方式输出名字和成绩,名字和成绩之间以一个空格隔开</p>
<p><strong>示例1</strong></p>
<pre><code class="lang-">输入:3
0
fang 90
yang 50
ning 70
输出:fang 90
ning 70
yang 50
</code></pre>
<p><strong>示例2</strong></p>
<pre><code class="lang-">输入:3
1
fang 90
yang 50
ning 70
输出:
yang 50
ning 70
fang 90
</code></pre>
<p>牛客HJ Python</p>
<pre><div class="hljs"><code class="lang-python"><span class="hljs-comment"># 运行时间44ms 占用内存4648KB</span>
n = <span class="hljs-built_in">int</span>(<span class="hljs-built_in">input</span>())
t = <span class="hljs-built_in">int</span>(<span class="hljs-built_in">input</span>())
l = []
<span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> <span class="hljs-built_in">range</span>(n):
name,score = <span class="hljs-built_in">input</span>().split()
l.append((name, <span class="hljs-built_in">int</span>(score)))
<span class="hljs-keyword">if</span> t == <span class="hljs-number">1</span>:
l.sort(key=<span class="hljs-keyword">lambda</span> x:x[<span class="hljs-number">1</span>], reverse=<span class="hljs-literal">False</span>)
<span class="hljs-keyword">else</span>:
l.sort(key=<span class="hljs-keyword">lambda</span> x:x[<span class="hljs-number">1</span>], reverse=<span class="hljs-literal">True</span>)
<span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> l:
<span class="hljs-built_in">print</span>(i[<span class="hljs-number">0</span>],i[<span class="hljs-number">1</span>])
</code></div></pre>
留言