获赞
221
粉丝
152
关注
6
看过 TA
678
南京邮电大学
2016
Java
IP属地:贵州
团队岗位和技术栈丰富,期待有更多的同学加盟进来~
私信
关注
## 1. 题目描述如果A是个x行y列的矩阵,B是个y行z列的矩阵,把A和B相乘,其结果将是另一个x行z列的矩阵C。这个矩阵的每个元素是由下面的公式决定的![img](https://www.nowcoder.com/equation?tex=%5Cbegin%7Bequation*%7D%0A%0AC_%7Bij%7D%20%3D%20%5Csum_%7Bk%3D0%7D%5E%7By-1%7DA_%7Bik%7D*B_%7Bkj%7D%0A%0A%5Cend%7Bequation*%7D%20(%E5%85%B6%E4%B8%AD0%20%5Cleq%20i%20%3C%20x%2C%200%20%5Cleq%20j%20%3C%20z))矩阵的大小不超过100*100### 输入描述:第一行包含一个正整数x,代表第一个矩阵的行数第二行包含一个正整数y,代表第一个矩阵的列数和第二个矩阵的行数第三行包含一个正整数z,代表第二个矩阵的列数之后x行,每行y个整数,代表第一个矩阵的值之后y行,每行z个整数,代表第二个矩阵的值示例1:```输入:    2    3    2    1 2 3    3 2 1    1 2    2 1    3 3输出:    14 13    10 11说明:    1 2 3    3 2 1     乘以    1 2    2 1    3 3    等于    14 13    10 11 ```
0 点赞 评论 收藏
分享
## 1.题目描述给定一些同学的信息(名字,成绩)序列,请你将他们的信息按照成绩从高到低或从低到高的排列,相同成绩都按先录入排列在前的规则处理。例示:jack   70peter   96Tom    70smith   67从高到低 成绩peter   96jack   70Tom    70smith   67从低到高smith   67jack   70Tom    70peter   96示例1:```输入:    3    0    fang 90    yang 50    ning 70输出:    fang 90    ning 70    yang 50```## 2. Solution```pythonwhile True:    try:        n = int(input())        if input() == '0':            flag = True         else:            flag = False         ls = []        for i in range(n):            name, score = input().split()            ls.append((name, int(score)))            ls.sort(key=lambda x:x[1], reverse=flag)        for x in ls:            print(*x)    except:        break ```
查看1道真题和解析 投递搜房等公司10个岗位
0 点赞 评论 收藏
分享
## 1.题目描述给出4个1-10的数字,通过加减乘除运算,得到数字为24就算胜利,除法指实数除法运算,运算符仅允许出现在两个数字之间,本题对数字选取顺序无要求,但每个数字仅允许使用一次,且需考虑括号运算此题允许数字重复,如3 3 4 4为合法输入,此输入一共有两个3,但是每个数字只允许使用一次,则运算过程中两个3都被选取并进行对应的计算操作。示例1:```输入:7 2 1 10输出:true```## 2. Solution```pythondef helper(arr, item):    if len(arr) == 1:        return arr[0] == item    else:        for i in range(len(arr)):            m = arr[:i] + arr[i+1:]            n = arr[i]            if helper(m, item+n) or helper(m, item-n) or helper(m, item *n) or helper(m, item/n):                return True        return False         while True:    try:        if helper(list(map(int, input().split())), 24):            print('true')        else:            print('false')    except:        break```
查看1道真题和解析
0 点赞 评论 收藏
分享
## 1.题目描述MP3 Player因为屏幕较小,显示歌曲列表的时候每屏只能显示几首歌曲,用户要通过上下键才能浏览所有的歌曲。为了简化处理,假设每屏只能显示4首歌曲,光标初始的位置为第1首歌。现在要实现通过上下键控制光标移动来浏览歌曲列表,控制逻辑如下:1. 歌曲总数光标在第一首歌曲上时,按Up键光标挪到最后一首歌曲;光标在最后一首歌曲时,按Down键光标挪到第一首歌曲。示例1:```输入:    10    UUUU输出:    7 8 9 10    7```## 2. Solution```pythonmapping = {'U': -1, 'D': 1}def run(n, seq):    index = 0    start, end = index, index+4        for s in seq:        index = index + mapping[s]        if index             index += n             start, end = max(n-4, 0), n  elif index >= n:            index -= n             start, end = 0, 4        if index             start -= 1            end -= 1 elif index >= end:            start += 1            end += 1    window = list(range(start+1, end+1))    return window, index+1n = int(input())seq = input().strip()a, b = run(n, seq)print(" ".join(list(map(str, a))))print(b)```
查看1道真题和解析
0 点赞 评论 收藏
分享
## 1. 题目描述一个 DNA 序列由 A/C/G/T 四个字母的排列组合组成。 G 和 C 的比例(定义为 GC-Ratio )是序列中 G 和 C 两个字母的总的出现次数除以总的字母数目(也就是序列长度)。在基因工程中,这个比例非常重要。因为高的 GC-Ratio 可能是基因的起始点。给定一个很长的 DNA 序列,以及限定的子串长度 N ,请帮助研究人员在给出的 DNA 序列中从左往右找出 GC-Ratio 最高且长度为 N 的第一个子串。DNA序列为 ACGT 的子串有: ACG , CG , CGT 等等,但是没有 AGT , CT 等等示例1:```输入:    ACGT    2输出:CG说明:ACGT长度为2的子串有AC,CG,GT3个,其中AC和GT2个的GC-Ratio都为0.5,CG为1,故输出CG   ```## 2. 思路巧用count()函数:str.count(sub, start=0, end=len(string))sub为搜索的子字符串,start为字符串开始搜索的位置,end为字符串中结束搜索的位置## 3. Solution```pythonwhile True:    try:        DNA = input()        length = int(input())        max_counts = 0        max_DNA = []        for i in range(len(DNA) - length + 1):            GC_counts = DNA.count('G', i, i+length) + DNA.count('C', i, i+length) if GC_counts > max_counts:                max_counts = GC_counts                max_DNA = DNA[i:i+length]        print(max_DNA)    except:        break```
查看1道真题和解析
0 点赞 评论 收藏
分享
## 1. 题目描述把m个**同样**的苹果放在n个**同样**的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?注意:如果有7个苹果和3个盘子,(5,1,1)和(1,5,1)被视为是同一种分法。示例1:```输入:7 3输出:8```## 2. 思路(递归)设f(m,n) 为m个苹果,n个盘子的放法数目,则先对n作讨论,当n>m:必定有n-m个盘子永远空着,去掉它们对摆放苹果方法数目不产生影响。即if(n>m) f(m,n) = f(m,m)  当n1、有至少一个盘子空着,即相当于`f(m,n) = f(m,n-1)`;2、所有盘子都有苹果,相当于可以从每个盘子中拿掉一个苹果,不影响不同放法的数目,即`f(m,n) = f(m-n,n)`.而总的放苹果的放法数目等于两者的和,即` f(m,n) =f(m,n-1)+f(m-n,n)`递归出口条件说明:当n=1时,所有苹果都必须放在一个盘子里,所以返回1;当没有苹果可放时,定义为1种放法;递归的两条路,第一条n会逐渐减少,终会到达出口`n==1`;第二条m会逐渐减少,因为`n>m`时,我们会`return f(m,m)` 所以终会到达出口`m==0`.## 3. Solution```pythondef count(m, n):    if m == 0 or n == 1:        return 1 elif n > m:        return count(m, m)    else:        return count(m, n-1) + count(m-n, n)    while True:    try:        apple, disk = list(map(int, input().split()))        print(count(apple, disk))    except:        break        ```
查看2道真题和解析 投递Apple等公司10个岗位
0 点赞 评论 收藏
分享
## 1. 题目描述功能:输入一个正整数,按照从大到小的顺序输出它的所有质因子(重复的也要列举)输入描述:输入一个整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开示例:```输入:180输出:2 2 3 3 5```## 2. Solution```pythonimport mathn = int(input())for i in range(2, int(math.sqrt(n))+1):    if n % i == 0:        # end = ' '表示以空格隔开        print(i, end=' ')        n //= i# 如果上面这个for循环没能够输出,则证明这个数本身就是一个质数,直接输出即可        if n > 2:    print(n)## 1. 题目描述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对。示例1:```输入:20输出:7     13```## 2. Solution```pythondef judge(n):    for i in range(2, n):        if n % i == 0:            return False    return Truewhile True:    try:        n = int(input())        Min, pair = n, tuple()        for i in range(1, n):            j = n - i             if judge(i) and judge(j):                if abs(i-j)                     pair = i, j                     Min = abs(i-j)        print(pair[0])        print(pair[1])    except:        break```
查看2道真题和解析
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务