博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
发现牛客网的考研题不错,赶紧刷刷
阅读量:5816 次
发布时间:2019-06-18

本文共 5121 字,大约阅读时间需要 17 分钟。

  

 

题目:

#下面这一段用一个txt来保存input的信息来模拟input.最后提交代码时候删除这一段即可.a9999=open('1.txt','r')def input():    return a9999.readline()while 1: try:    a=int(input())    b=int(input())    if b==0:        c='降序'    else:        c='升序'    out=[]    if b==0:        for i in range((a)):            tmp=input().split()            name=tmp[0]            score=tmp[1]            out.append((name,score))        out2=[]        while len(out)>0:            i=0            for j in range(len(out)):                if int(out[j][1])>int(out[i][1]):                    i=j            out2.append(out[i])            out.pop(i)        for i in range(len(out2)):                print(out2[i][0]+' '+out2[i][1])    else:        for i in range((a)):            tmp=input().split()            name=tmp[0]            score=tmp[1]            out.append((name,score))        out2=[]        while len(out)>0:            i=0            for j in range(len(out)):                if int(out[j][1])
View Code

View Code

 

'''题目描述输入n个整数,依次输出每个数的约数的个数输入描述:输入的第一行为N,即数组的个数(N<=1000)接下来的1行包括N个整数,其中每个数的范围为(1<=Num<=1000000000)当N=0时输入结束。输出描述:可能有多组输入数据,对于每组输入数据,输出N行,其中每一行对应上面的一个数的约数的个数。'''#下面这一段用一个txt来保存input的信息来模拟input.最后提交代码时候删除这一段即可.a9999=open('1.txt','r')def input():    return a9999.readline()import mathwhile 1:    try:        a=int(input())        b=[int(i) for i in input().split()]                def duoshaogeyueshu(a):            if a==1:                return 1            count=0            for ii in range(1,a):                if ii*ii==a:                    count+=1                    continue                if ii*ii>a:                    break                if a%ii==0:                    count+=2            return count        out=[]        for i in range(len(b)):            print(duoshaogeyueshu(b[i]))    except:        break
View Code

 拆包打印法:

#拆包打印法:s=['34','324']print(*[w for w in s], sep=' ', end='')       #sep是分割,end是结尾

 

'''[编程题] 光棍指数时间限制:1秒空间限制:65536K对于一个正整数,我们认为它的光棍指数是它二进制表示下1的个数。通常认为光棍指数越高,这个数就越孤单。那么问题来了,对于给定的[a,b]区间中。最孤单的数字是谁呢?如果光棍指数相同,最孤单的就是最小的那个数。输入描述:第一行一个整数 T (1≤T≤10^4),表示问题数。接下来 T 行,每行两个整数 a,b (0≤a≤b≤2^31−1)。数据之间用一个空格分隔。输出描述:对于每个问题,输出一行 Case x: y,其中 x 是问题编号,从 1 开始,y 是答案输入例子1:20 14100 1000输出例子1:Case 1: 7Case 2: 511'''def main(a,b):#返回a,b之见的最大孤独数    tmp=bin(a)[2:]    a=tmp    c=[]    while int(a,2)<=b:        if '0' in a:            index=a[::-1].index('0')            out=a[::-1]            chuli=out[:index]+'1'+out[index+1:]            a=chuli[::-1]            c.append(a)            if int(a,2)>b:                break        else:            a=a+'1'            c.append(a)            if int(a,2)>b:                break                            return int(c[-2],2)a=int(input())for i in range(a):                tmp=[int(i) for i in input().split()]    out=main(tmp[0],tmp[1])    print('Case '+str(i+1)+': '+str(out))
View Code

 leecode

30. 与所有单词相关联的字串:记忆体递归即可

class Solution:    def findSubstring(self, s, words):        """        :type s: str        :type words: List[str]        :rtype: List[int]        """                if s=='' and words==[]:            return []        if s!='' and words==[]:            return []        memo={}        def panding(tmp,words):            if (tmp,tuple(words)) in memo:                return memo[(tmp,tuple(words))]            if words==[]:                return True            for i in range(len(words)):                index=i                i=words[i]                if tmp[:len(i)]==i:                    a=words.copy()                    a.pop(index)                    memo[(tmp,tuple(words))]=panding(tmp[len(i):],a)                    return panding(tmp[len(i):],a)            return False                                                a=''        for i in range(len(words)):            a+=words[i]        num=len(a)        out=[]        for i in range(0,len(s)-num+1):                              tmp=s[i:i+num]                  if panding(tmp,words):                        out.append(i)        return out
View Code

 leecode31. 下一个排列       字典序经典题目

class Solution:    #思路是:先从后往前找.比如123,他的后2位可以变大,就让后两位做变换.变换方法是:2找到后面比2大的数,跟2位置交换.之后这个位置后面的数做降序排列即可.    def nextPermutation(self, nums):        """        :type nums: List[int]        :rtype: void Do not return anything, modify nums in-place instead.        """        #先找到可以交换的位置.        def main(nums):                     for i in range(len(nums)-1,-1,-1):            for j in range(len(nums)-1,i,-1):                if nums[j]>nums[i]:                    nums[i],nums[j]=nums[j],nums[i]                    out=nums[:i+1]+sorted(nums[i+1:])                    return out         return sorted(nums)        out=main(nums)        for i in range(len(nums)):            nums[i]=out[i]
View Code

 41. 缺失的第一个正数           用set计算

class Solution:    def firstMissingPositive(self, nums):        """        :type nums: List[int]        :rtype: int        """        if nums==[]:            return 1        a=max(nums)        tmp=range(1,a+2)        tmp=set(tmp)        nums=set(nums)        print(tmp)        tmp=tmp-nums        print(tmp)        tmp=list(tmp)        return min(tmp)
View Code

 

转载于:https://www.cnblogs.com/zhangbo2008/p/9281327.html

你可能感兴趣的文章
html语言
查看>>
从源码看集合ArrayList
查看>>
spring-boot支持websocket
查看>>
菜鸟笔记(一) - Java常见的乱码问题
查看>>
我理想中的前端工作流
查看>>
记一次Git异常操作:将多个repository合并到同一repository的同一分支
查看>>
CodeIgniter 3.0 新手捣鼓源码(一) base_url()
查看>>
Chrome 广告屏蔽功能不影响浏览器性能
查看>>
vSphere 6将于2月2日全球同步发表
查看>>
Android状态栏实现沉浸式模式
查看>>
让你的APP实现即时聊天功能
查看>>
iOS 绝对路径和相对路径
查看>>
使用Openfiler搭建ISCSI网络存储
查看>>
IntPtr 转 string
查看>>
学生名单
查看>>
(转) 多模态机器翻译
查看>>
【官方文档】Nginx负载均衡学习笔记(三) TCP和UDP负载平衡官方参考文档
查看>>
矩阵常用归一化
查看>>
Oracle常用函数总结
查看>>
【聚能聊有奖话题】Boring隧道掘进机完成首段挖掘,离未来交通还有多远?
查看>>