9.20B站笔试

3个编程。
1. 每次可以选取一些数字-2**k,k每次+1,如果选取的数字个数不为0则为一次有效操作。问将数组中的数都减小到非负一共多少次有效操作。
思路:这不就是直接实现么感觉不难,但是之过了5%。。。就排序然后用指针遍历每次判断小于2**(k+1)就移动指针。。。无解,求大佬帮看。
def output(n, arr):
    res = 0
    arr.sort()
    k = 0
    i = 0
    while i < n:
        if arr[i] == 1:
            i+=1
        else:
            break
    if i != 0:
        res+=1
    k+=1
    while i < n:
        j = i
        while j < n and arr[j] <= 2 ** (k+1):
            j += 1
        num = j - i
        if num != 0:
            res += 1
        k += 1
        i = j
    return res
2. 数组每个元素为对应商品价值,输出的数组对应元素为为这个商品之前买的商品且价格大于当前商品的最大的index。
思路:暴力遍历然后内层倒着遍历就AC。
def output(n,arr):
    res = []
    dic = {}
    for i in range(n):
        dic[i] = arr[i]
        if i == 0:
            res.append("INF")
        else:
            idx = -1
            for j in range(i-1,-1,-1):
                if dic[j] > arr[i]:
                    idx = j
                    break
            if idx == -1:
                res.append("INF")
            else:
                res.append(str(dic[idx]))
    return res

3. 一个字符串形如(x-1)(x+5)问求最终x的系数是多少。
思路:遍历过程中维护两个变量,一个是乘积一个是结果,结果每次用上一个乘积加当前的num即可。感觉思路没有问题但是只过了20%。。。
string = input().strip()
n = len(string)
if n == 5:
    print(1)
else:
    mul,res = 0,0
    for i in range(0,n,5):
        seg = string[i:i+5]
        num = int(seg[2:4])
        if i == 0:
            mul = num
        else:
            res = (num + mul)%10007
            mul = (num * mul)%10007
    print(res%10007)




#b站笔试##B站#
全部评论
第一题位运算 ,第二题单调栈解决下一个更大元素,第三题维护一个数组所有元素的products,每次用products 除以当前遍历元素
点赞 回复 分享
发布于 2022-09-20 21:15 浙江
第一题所有数在一起求位或,计算这个值二进制里1的个数
点赞 回复 分享
发布于 2022-09-20 20:42 湖北

相关推荐

面试官全程关摄像头1.自我介绍一下2.React和Vue哪个更熟悉一点3.你在之前那段实习经历中有没有什么技术性的突破(我只是实习了44天工作28天,我把我能说的都说了)4.你封装的哪个表单组件支不支持动态传值5.自己在实习阶段Vue3项目封装过hook吗6.hook有什么作用7.Vue2和Vue3的响应式区别(我说一个是proxy是拦截所有的底层操作,Object.defineProperty本身就是一个底层操作,有些东西拦截不了,比如数组的一些操作还有等等,面试官就说实在要拦截能不能拦截????我心想肯定不行呀,他的底层机制就不允许吧)8.pinia和vuex的区别(这个回答不出来是我太久没用了)9.pinia和zustand的区别,怎么选(直接给我干懵了)(我说react能用pinia吗&nbsp;&nbsp;他说要用的话也可以)10.渲染一万条数据,怎么解决页面卡顿问题(我说分页、监听滚轮动态加载,纯数据展示好像还可以用canvas画)(估计是没说虚拟表单,感觉不满意)11.type和interface的区别12.ts的泛型有哪些作用(我就说了一个结构相同但是类型不同的时候可以用,比如请求响应的接口,每次的data不同,这里能用一个泛型,他问我还有什么)13.你项目用的是React,如果让你再写一遍你会选择什么14.pnpm、npm、yarn的区别15.dependencies和devdependencies的区别总而言之太久没面试了,上一段实习的面试js问了很多。结果这次js一点没问,网络方面也没考,表现得很一般,但是知道自己的问题了&nbsp;&nbsp;好好准备,等待明天的影石360和周四的腾讯了&nbsp;&nbsp;加油!!!
解zj:大三的第一段面试居然是这样的结局
查看15道真题和解析
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务