第一题: 比如输入: 输出说明: 上例的输入对应输出: 思路:首先反转输入的列表,为什么反转是因为这样做就不是往前找比他大的值而是往后找比他大的数值了(注意别忘了转回来),从当前位置往后找比它大的值,找到了就赋值当前位置,然后break,找不到就赋值为-1,别忘了最后一个位置一定是-1。 这个题目比较简单 整理不易,看官老爷们看完给个赞啊!
输入说明:
第一行输入n代表队伍中的人数
第二行输入队伍中每个人的身高(用空格隔开)
5
2 3 1 5 4
6
5 4 1 6 8 2
如果现在所在位置之前没有比自己身高高的,数值变为-1,如果现在所在位置之前有比自己身高高的,数值变为所在位置之前那个离自己最近的且比自己高的那个人的身高
5
-1 -1 3 -1 4
6
-1 5 4 -1 -1 8# --*-- coding : utf-8 --*-- def No1(k, ls): if k == 0: return [] res = [-1] if k == 1: return res res = [] for i in range(k-1): temp = ls[i + 1:] #print(temp) #print(ls[i + 1:]) if max(temp) <= ls[i]: res.append(-1) else: for j in temp: if j > ls[i]: res.append(j) break res.append(-1) return res if __name__ == '__main__': n = input() n = int(n) m = input().split(' ') m = list(map(int, m)) m = list(reversed(m)) #print(m) res1 = list(reversed(No1(n, m))) print(n) print(' '.join([str(x) for x in res1]))
第二题:
对于每组数据,如果A可以变成B,输出”Y”,否则输出“N”。
输入:
3
0 1 2 3 4
2 1 0 4 3
0
0
0
1
输出
Y
Y
Ndef No1(m,l): s='N' a=sorted(m) b=sorted(l) if a==b: s="Y" else: s="N" return s if __name__ == '__main__': n = input() n = int(n) s=[] while n>0: m = input().split(' ') l = input().split(' ') m = list(map(int, m)) l = list(map(int, l)) a = No1(m,l) s.append(a) n-=1 for i in s: print(i)
就是比较排序后的数组是否相同
第三题:
每组输入一行,分别是字符串S,T,如果有该子串则输出该子串,否则输出空串。
输入:ADSKBACWDWKDEH
输入:ABCD
输出:BACWD# --*-- coding : utf-8 --*-- def minWindow(s,t): from collections import Counter t=Counter(t) lookup=Counter() start=0 end=0 min_len=float("inf") res="" while end<len(s): lookup[s[end]]+=1 end+=1 #print(start, end) while all(map(lambda x: lookup[x]>=t[x],t.keys())): if end-start<min_len: res=s[start:end] min_len=end-start lookup[s[start]]-=1 start+=1 return res if __name__ == '__main__': S = input() T = input() L=minWindow(S,T) print(L)
(不给也可以最好给个吧~在线卑微)
本网页所有视频内容由 imoviebox边看边下-网页视频下载, iurlBox网页地址收藏管理器 下载并得到。
ImovieBox网页视频下载器 下载地址: ImovieBox网页视频下载器-最新版本下载
本文章由: imapbox邮箱云存储,邮箱网盘,ImageBox 图片批量下载器,网页图片批量下载专家,网页图片批量下载器,获取到文章图片,imoviebox网页视频批量下载器,下载视频内容,为您提供.
阅读和此文章类似的: 全球云计算