08.30 中国电信 天翼云 算法笔试

第一题:贪心算法里的重叠问题(原A 50%,修改后下面代码不知道能不能全A)
from typing import List


class Solution:
    def SumLength(self, lines: List[List[int]]) -> int:
        if not lines:
            return 0
        n = len(lines)
        if n == 1:
            return lines[0][1] - lines[0][0]
        lines.sort(key=lambda x: (x[0], x[1]))
        for i in range(1, n):
            if lines[i][0] < lines[i - 1][1]:
                lines[i][0], lines[i - 1][1] = lines[i - 1][1], lines[i][0]
        res = 0
        for i in range(n):
            if lines[i][0] >= lines[i][1]:
                continue
            else:
                res += lines[i][1] - lines[i][0]

        return res


if __name__ == "__main__":
    sl = Solution()
    N = int(input())
    Lines = list()
    for _ in range(N):
        Lines.append(list(map(int, input().split(","))))
    print(sl.SumLength(Lines))
第二题:奇偶数排序(AC)
from typing import List


class Solution:
    def reOrderArray(self, nums: List[int]):
        j_list = []
        o_list = []
        for num in nums:
            if num % 2 == 0:
                o_list.append(num)
            if num % 2 == 1:
                j_list.append(num)

        return o_list + j_list


if __name__ == "__main__":
    sl = Solution()
    N = int(input())
    arr = list(map(int, input().split(",")))
    ans = sl.reOrderArray(arr)
    print(",".join([str(i) for i in ans]))

第三题:01背包问题(AC)
from typing import List


class Solution:
    def MaxSumValue(self, m: int, values: List[int], cost: List[int]):
        n = len(cost)
        dp = [[0] * (m + 1) for _ in range(n)]
        for i in range(n):
            dp[i][0] = 0
        for j in range(m + 1):
            if j < cost[0]:
                dp[0][j] = 0
            else:
                dp[0][j] = cost[0]
        for i in range(n):
            for j in range(m + 1):
                if j < cost[i]:
                    dp[i][j] = dp[i - 1][j]
                else:
                    dp[i][j] = max(dp[i - 1][j], dp[i - 1][j - cost[i]] + values[i])

        return dp[n - 1][m]


if __name__ == "__main__":
    sl = Solution()
    M = int(input())
    list_1 = list(map(int, input().split()))
    list_2 = list(map(int, input().split()))
    N = list_1[0]
    print(sl.MaxSumValue(M, list_1[1:], list_2[1:]))



#电信天翼云计算##中国电信##笔经#
全部评论
老哥知道啥时候出结果么
1 回复 分享
发布于 2021-08-31 15:00
第一题50%后一直在修改调试,然后第二题第三题就几乎是飞速在敲键盘,10分钟2道题还得看题目,然后敲代码。。。以后我都想先做编程题,再弄选择题了,可又怕编程题很费时间,选择题来不及做。。。
点赞 回复 分享
发布于 2021-08-30 22:04
暴力求解直接100%
点赞 回复 分享
发布于 2021-08-30 22:43
选择题有哪些知识点呀
点赞 回复 分享
发布于 2021-09-09 01:16

相关推荐

鼠鼠是前端,没准备好&nbsp;,答得好烂24min1.&nbsp;自我介绍2.&nbsp;问了是否考研3.&nbsp;项目挑一个点讲一下&nbsp;&nbsp;&nbsp;项目是商城,讲了一下商品卡片这个复用性比较高的组件。4.&nbsp;这个组件用到了props,都要传入什么数据?&nbsp;&nbsp;&nbsp;&nbsp;商品图片url,名称价格什么的。&nbsp;&nbsp;&nbsp;&nbsp;5.&nbsp;vue不是有多种模式嘛,用什么模式做的&nbsp;&nbsp;&nbsp;&nbsp;setup的语法糖+组合式API6.&nbsp;ref和reactive的区别?如果ref包含的更多那为什么不直接用ref?&nbsp;&nbsp;&nbsp;&nbsp;答得不好,这里贴出参考(来自ds):&nbsp;&nbsp;&nbsp;&nbsp;####&nbsp;区别:&nbsp;&nbsp;&nbsp;&nbsp;ref:万能型,适合基本类型或需要重新赋值的引用类型,访问需&nbsp;.value&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reactive:专精型,仅用于对象/数组,直接访问属性,性能更优&nbsp;&nbsp;&nbsp;&nbsp;####&nbsp;不都用&nbsp;ref&nbsp;的原因:&nbsp;&nbsp;&nbsp;&nbsp;**代码更干净**:对象用&nbsp;reactive&nbsp;避免多层&nbsp;.value&nbsp;&nbsp;&nbsp;&nbsp;**性能更好**:reactive&nbsp;代理整个对象,适合复杂数据&nbsp;&nbsp;&nbsp;&nbsp;**解构保留响应性**:需配合&nbsp;toRefs&nbsp;使用更规范&nbsp;&nbsp;&nbsp;&nbsp;####&nbsp;怎么选&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;基本类型/需替换整个对象&nbsp;→&nbsp;ref&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;复杂对象/无需替换&nbsp;→&nbsp;reactive&nbsp;&nbsp;&nbsp;&nbsp;→&nbsp;混合使用效果最佳7.&nbsp;讲一下项目中比较复杂的点&nbsp;&nbsp;&nbsp;&nbsp;讲了订单流程,答得也烂8.&nbsp;除了js,用得比较多的语言是什么?最近做了什么?&nbsp;&nbsp;&nbsp;&nbsp;python用得多,讲用来做了个课设和毕设,机器学习相关,还拷打了一波毕设。9.&nbsp;&nbsp;问一个通用一点的,怎么实现hashmap?&nbsp;&nbsp;&nbsp;&nbsp;参考:HashMap&nbsp;使用数组作为底层存储,通过哈希函数将键映射到数组索引位置,并用链表或红黑树解决哈希冲突。10.&nbsp;hashmap怎么扩容?&nbsp;&nbsp;&nbsp;&nbsp;参考:扩容时,数组容量通常扩大为原来的&nbsp;2&nbsp;倍,所有元素根据新的哈希值重新分配到新数组中。通过优化如分步迁移、链表拆分和红黑树退化,确保扩容过程高效且不影响查询性能。11.&nbsp;时间关系,你这边的情况已经了解了结束#牛客AI配图神器##Tplink求职进展汇总#
查看10道真题和解析 Tplink求职进展汇总
点赞 评论 收藏
分享
评论
6
68
分享

创作者周榜

更多
牛客网
牛客企业服务