守望_sy 2021-12-08 00:39 采纳率: 63.2%
浏览 215
已结题

python问题,难倒同学无数_(:з」∠)_

问题遇到的现象和发生背景
题目要求:
输入
5(输入的个数)
1 10 (1-10)
7 9
3 8
4 7 (4-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

问题相关代码,请勿粘贴截图

a=int(input())
c = [[],[]]
for i in range(a):
    b = [int(n) for n in input().split()]
    c[0].append(b[0])
    c[1].append(b[1])
for i in range(min(c[0]),max(c[1])+1):
    m = len([n for n in c[0] if n<=i])
    n = len([n for n in c[1] if n<i])
    if m-n>0:
        print(i,m-n)

运行结果及报错内容
此代码可以实现功能,但是时间复杂度大,需要优化

我的解答思路和尝试过的方法
PS:
教授上课讲的方法,仅供参考
假如需要查找6出现的个数
因为在[1 10]这个数组里
(我是数轴)—[1—6—10]—→√
在[7 9]这个数组里
(我是数轴)—6—[7—8—9]—→X
因此[a,b]如果满足
(我是数轴)—[a—6—b]—→√
(我是数轴)—6—[a—b]—→X
(我是数轴)—[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个

  • 写回答

6条回答 默认 最新

  • 关注

    按照你老师的算法,两个列表排序之后用二分法查找,试试

    def BinarySearch(li,n,k):
        if k<li[0]:
            return 0
        if k>=li[-1]:
            return n
        left=0
        right=n-1
        while left<=right:
            middle=(left+right)//2
            if li[middle]<=k:
                left=middle+1
            if li[middle]>k:
                right=middle-1
        return left;
    
    n = int(input())
    li1 = []
    li2 = []
    for i in range(n):
        a,b = map(int,input().split())
        li1.append(a)
        li2.append(b)
    li1.sort()
    li2.sort()
    for i in range(li1[0],li2[-1]+1):
        a = BinarySearch(li1,n,i)
        b = BinarySearch(li2,n,i-1)
        m = a-b
        if m>0:
            print(i,m)
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 12月12日
  • 已采纳回答 12月8日
  • 赞助了问题酬金 12月8日
  • 修改了问题 12月8日
  • 展开全部

悬赏问题

  • ¥200 csgo2的viewmatrix值是否还有别的获取方式
  • ¥15 Stable Diffusion,用Ebsynth utility在视频选帧图重绘,第一步报错,蒙版和帧图没法生成,怎么处理啊
  • ¥15 请把下列每一行代码完整地读懂并注释出来
  • ¥15 pycharm运行main文件,显示没有conda环境
  • ¥15 寻找公式识别开发,自动识别整页文档、图像公式的软件
  • ¥15 为什么eclipse不能再下载了?
  • ¥15 编辑cmake lists 明明写了project项目名,但是还是报错怎么回事
  • ¥15 关于#计算机视觉#的问题:求一份高质量桥梁多病害数据集
  • ¥15 特定网页无法访问,已排除网页问题
  • ¥50 如何将脑的图像投影到颅骨上