oppo测开笔试2022.9.2

为什么上午做题的同学说好简单,我下午做,咋就那么难呢

选择难死了

算法第一题就g了
1、wakelock贡献值
咱就是说,这个题,花了1个小时,最后通过率20%(下面是通过率20%的代码······)
public ArrayList<Integer> getWakeLockContrib (ArrayList<ArrayList<Integer>> wakeLock) {
        // write code here
        ArrayList<Integer> a=wakeLock.get(0);
        ArrayList<Integer> b=wakeLock.get(0);
        int asize=a.size();
        int bsize=b.size();
        int asum=0,bsum=0;
        for(int i=0;i<asize;i+=2){
            asum+=a.get(i+1)-a.get(i);
        }
        for(int j=0;j<bsize;j+=2){
            bsum+=b.get(j+1)-b.get(j);
        }
        int sub=0;
        if(asize>=bsize){
            for(int i=0;i<bsize;i+=2){
                if(a.get(i+1)>b.get(i+1) && a.get(i)<b.get(i)){
                    sub=(b.get(i+1)-b.get(i))/2;
                }else if(a.get(i+1)<b.get(i+1) && a.get(i)>b.get(i)){
                    sub=(a.get(i+1)-a.get(i))/2;
                }else if(a.get(i)<b.get(i) && a.get(i+1)>b.get(i) && a.get(i+1)<b.get(i+1)){
                    sub=(a.get(i+1)-b.get(i))/2;
                }else if(b.get(i)<a.get(i) && b.get(i+1)>a.get(i) && b.get(i+1)<a.get(i+1)){
                    sub=(b.get(i+1)-a.get(i))/2;
                }
                asum-=sub;bsum-=sub;
            }
        }else{
            for(int i=0;i<asize;i+=2){
                if(a.get(i+1)>b.get(i+1) && a.get(i)<b.get(i)){
                    sub=(b.get(i+1)-b.get(i))/2;
                }else if(a.get(i+1)<b.get(i+1) && a.get(i)>b.get(i)){
                    sub=(a.get(i+1)-a.get(i))/2;
                }else if(a.get(i)<b.get(i) && a.get(i+1)>b.get(i) && a.get(i+1)<b.get(i+1)){
                    sub=(a.get(i+1)-b.get(i))/2;
                }else if(b.get(i)<a.get(i) && b.get(i+1)>a.get(i) && b.get(i+1)<a.get(i+1)){
                    sub=(b.get(i+1)-a.get(i))/2;
                }
                asum-=sub;bsum-=sub;
            }
        }
        ArrayList<Integer> array=new ArrayList<>();
        array.add(asum);
        array.add(bsum);
        return array;
    }


2、
长字符匹配逆序短字符,遇见* 默认匹配,返回长字符中第一次匹配完成的下标(ac)
public int findStr (String str, String mod) {
        // write code here
        if(mod.length()==0) return 0;
        StringBuffer sb=new StringBuffer(mod);
        String modd=sb.reverse().toString();

        for(int i=0;i<str.length();i++){
            int a=i,j=0;
            while(str.charAt(a)==modd.charAt(j) || modd.charAt(j)=='*'){
                if(j==modd.length()-1){
                    return a;
                }
                a++;
                j++;
                if(a>=str.length() || j>=mod.length()) break;
            }
        }
        return -1;
    }


3、
翻转链表(ac
public ListNode reverseList (ListNode head) {
        // write code here
        ListNode pre=null;
        ListNode tmp=head;
        ListNode next;
        while(tmp!=null){
            next=tmp.next;
            tmp.next=pre;
            pre=tmp;
            tmp=next;
        }
        return pre;
        
    }


#OPPO笔试##面经笔经##23届秋招笔面经#
全部评论
第一题开个map对占用的区间加1,然后遍历的时候贡献就是1除以区间上数字,但是只能过80,不知道哪出问题了
点赞 回复 分享
发布于 2022-09-02 17:48 陕西
ak了哈哈 比较简单
1 回复 分享
发布于 2022-09-02 17:53 湖北
第一题很简单啊,就差分,还有通过一个题叫ac,全通过叫ak
点赞 回复 分享
发布于 2022-09-02 20:31 江苏
第一题ac了,像有次华为的笔试题,直接区间拆分就好了
点赞 回复 分享
发布于 2022-09-02 19:37 四川
第一题只过了80,求教
点赞 回复 分享
发布于 2022-09-02 22:02 江苏
为啥我做题之前不看这个帖子呢??做完之后想起来搜一下了 。。。。
点赞 回复 分享
发布于 2022-09-02 21:01 北京
确实上午的好简单,下午难爆了
点赞 回复 分享
发布于 2022-09-02 17:01 江苏
第一题python ac代码 akelock = [[1234, 1240], [1236, 1238, 1245, 1250]] count = {} for wake_list in wakelock:     for i in range(len(wake_list)):         if i % 2 == 0:             left = wake_list[i]             right = wake_list[i+1]             for num in range(left, right):                 count[num] = count.get(num, 0) + 1 res = [] for wake_list in wakelock:     contribute = 0     for i in range(len(wake_list)):         if i % 2 == 0:             cur_contribute = 0             left = wake_list[i]             right = wake_list[i+1]             for num in range(left, right):                 cur_contribute += 1/count[num]             contribute += int(cur_contribute)     res.append(int(contribute)) print(res)
2 回复 分享
发布于 2022-09-03 12:52 湖北
第一题怎么做呀?
1 回复 分享
发布于 2022-09-02 17:51 江苏
第一题蛮难的。。。做了好久,才看到要区间转型成整数不能算完再转。。。
点赞 回复 分享
发布于 2022-09-02 23:12 上海
哈哈哈,上午做的,特简单,半小时所有题目完成。
点赞 回复 分享
发布于 2022-09-02 23:02 江苏
第二题本想手写kmp结果细节想不起来了
点赞 回复 分享
发布于 2022-09-02 22:35 上海
刚考完,题一样,60,70,100
点赞 回复 分享
发布于 2022-09-02 20:39 江苏
都是一样的题目,编程ak了,就是选择题有点恼火
点赞 回复 分享
发布于 2022-09-02 20:38 重庆
纯纯kpi唉
点赞 回复 分享
发布于 2022-09-02 20:28 北京
第一题分区间过了80
点赞 回复 分享
发布于 2022-09-02 17:45 北京
刚考完 一样的题目😂
点赞 回复 分享
发布于 2022-09-02 17:36 广东
题目一样    第一题有点难度的,不过只用减法  不考虑不同应用重复的话能过40
点赞 回复 分享
发布于 2022-09-02 16:50 上海

相关推荐

02-04 17:01
南昌大学 Java
牛客96763241...:拿插件直接投就完了,这玩意看运气的
点赞 评论 收藏
分享
刚刷到字节跳动官方发的消息,确实被这波阵仗吓了一跳。在大家还在纠结今年行情是不是又“寒冬”的时候,字节直接甩出了史上规模最大的转正实习计划——ByteIntern。咱们直接看几个最硬的数,别被花里胡哨的宣传词绕晕了。首先是“量大”。全球招7000多人是什么概念?这几乎是把很多中型互联网公司的总人数都给招进来了。最关键的是,这次的资源分配非常精准:研发岗给了4800多个Offer,占比直接超过六成。说白了,字节今年还是要死磕技术,尤其是产品和AI领域,这对于咱们写代码的同学来说,绝对是今年最厚的一块肥肉。其次是大家最关心的“转正率”。官方直接白纸黑字写了:整体转正率超过50%。这意味着只要你进去了,不划水、正常干,每两个人里就有一个能直接拿校招Offer。对于2027届(2026年9月到2027年8月毕业)的同学来说,这不仅是实习,这简直就是通往大厂的快捷通道。不过,我也得泼盆冷水。坑位多,不代表门槛低。字节的实习面试出了名的爱考算法和工程实操,尤其是今年重点倾斜AI方向,如果你简历里有和AI相关的项目,优势还是有的。而且,转正率50%也意味着剩下那50%的人是陪跑的,进去之后的考核压力肯定不小。一句话总结:&nbsp;27届的兄弟们,别犹豫了。今年字节这是铁了心要抢提前批的人才,现在投递就是占坑。与其等到明年秋招去千军万马挤独木桥,不如现在进去先占个工位,把转正名额攥在手里。
喵_coding:别逗了 50%转正率 仔细想想 就是转正与不转正
字节7000实习来了,你...
点赞 评论 收藏
分享
评论
17
51
分享

创作者周榜

更多
正在热议
更多
# 面试被问到不会的问题,你怎么应对? #
128次浏览 2人参与
# 参加完秋招的机械人,还参加春招吗? #
119770次浏览 755人参与
# 开放七大实习专项,百度暑期实习值得冲吗 #
17808次浏览 266人参与
# 你觉得大几开始实习最合适? #
117次浏览 2人参与
# 拼多多工作体验 #
52267次浏览 332人参与
# 通信硬件知识分享 #
48068次浏览 537人参与
# 厦门银行科技岗值不值得投 #
9407次浏览 223人参与
# 找AI工作可以去哪些公司? #
15071次浏览 629人参与
# 说说你知道的学历厂 #
390882次浏览 1379人参与
# 从事AI岗需要掌握哪些技术栈? #
13315次浏览 715人参与
# 你做过最难的笔试是哪家公司 #
44545次浏览 632人参与
# 金三银四,你的春招进行到哪个阶段了? #
24095次浏览 295人参与
# 想给25届机械人的秋招建议 #
47665次浏览 251人参与
# AI面会问哪些问题? #
34012次浏览 949人参与
# 中国电信笔试 #
32968次浏览 303人参与
# 我心目中的理想工作是这样的 #
100808次浏览 907人参与
# 携程笔试 #
139500次浏览 839人参与
# 这些公司卡简历很严格 #
94898次浏览 415人参与
# 拼多多集团-PDD笔试 #
37350次浏览 356人参与
# 一人说一个提前实习的好处 #
118412次浏览 711人参与
# 投递几十家公司,到现在0offer,大家都一样吗 #
342650次浏览 2190人参与
# 实习越久越好,还是多多益善? #
91474次浏览 359人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务