守望_sy 2021-12-02 23:22 采纳率: 63.2%
浏览 163
已结题

硕士python练习题,难倒同学无数_(:з」∠)_

问题遇到的现象和发生背景

题目要求:
输入
5(输入的个数)
1 10 (1:10,也就是1,2,3,4,5,6,7,8,9,10)
7 9
3 8
4 7 (4,5,6,7)
5 5 (5:5 只有5)
输出
1 1 (1、计算1出现的次数)
2 1(2、2出现的次数,为1)
3 2(3、3出现的次数,为2)
4 3
5 4
6 3
7 3
8 3
9 2
10 1

问题相关代码,请勿粘贴截图
from collections import Counter
len_as = input()
len_a = int(len_as)
all_data = []
arr_b = []
for _ in range(len_a):
    str_b = input()
    arr_b = str_b.split(' ')
    for i in range(int(arr_b[0]), int(arr_b[1]) + 1):
        if int(arr_b[0]) == int(arr_b[1]):
            all_data.append(int(arr_b[0]))
            break
        all_data.append(i)
nummap = Counter(all_data)
# print(nummap)
uniq_data = list(set(all_data))
uniq_data.sort()
for d in uniq_data:
    print("%s %s" % (d, nummap.get(d)))
运行结果及报错内容

代码没有任何问题,功能可以实现,只是时间复杂度过大,需要更好的算法

我的解答思路和尝试过的方法

教授给出了一个非常牛X的算法,奈何我无法转化为python代码,算法如下:
假如需要查找6出现的个数
因为在[1 10]这个数组里
1≤6
10≥6
所以包含6
(我是数轴)—[1—6—10]—→√
在[7 9]这个数组里
7≮6
(我是数轴)—6—[7—8—9]—→X
所以不包含6
因此[a,b]如果满足
a≤6
b≥6
则包含6
(我是数轴)—[a—6—b]—→√
如果满足
a>6
则不包含6
(我是数轴)—6—[a—b]—→X
或者满足
b<6
则不包含6
(我是数轴)—[a—b]—6—→X

现在将实例中5个数组
[1 10]
[7 9]
[3 8]
[4 7]
[5 5]
写成2个数组
A=[1,7,3,4,5] 左列
B=[10,9,8,7,5] 右列
找到A里≤6的数有4个(可能有6的数组数量)
B里<6的数有1个(在可能有6的数量里,没有6的数组数量)
所以6的出现的次数为4-1=3个

  • 写回答

3条回答 默认 最新

  • CSDN专家-文盲老顾 2021-12-02 23:52
    关注
    
    a = int(input('type a number(>0):'))
    b = []
    for i in range(a):
        b.append([int(n) for n in input('type two numbers,split by space:').split()])
    
    x = int(input('type a number to find in the list:'))
    
    c = [[n[0] for n in b],[n[1] for n in b]]
    
    c[0].sort()  # 其实有没有 sort 都一样
    c[1].sort()
    
    d = [len([1 for n in c[0] if n<=x]),len([1 for n in c[1] if n>=x])]
    
    print(b)
    print(c)
    print(d)
    print(min(d))
    

    你们老师的思路是这样的,输入的多组数字,有行转列,即 b -- > c

    然后,对每行中符合条件的数字统计,得出的是两个数字,d 列表,然后 d 中最小的数字,就是指定的数字 x 出现的次数

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 12月12日
  • 已采纳回答 12月4日
  • 修改了问题 12月3日
  • 修改了问题 12月3日
  • 展开全部

悬赏问题

  • ¥20 阿里云python代码求解
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥15 统计大规模图中的完全子图问题
  • ¥15 使用LM2596制作降压电路,一个能运行,一个不能
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路