2023 哔哩哔哩笔试题 bilibili笔试 0829

笔试时间:2023年8月29日 秋招

第一题

题目

请在UP主视频数据表中,筛选发布视频平均时长大于300秒的up主,按UP主视频平均时长排序,视频iD升序,返回第3行到6行的视频iD。

输入描述

CREATE TABLE udloader_video_record(Video_id BIGINT PRIMARY KEY,uploader_id BIGINTvideo_duration int);

INSERT INTO uoloader _video_record(video_ id,uploader_id,video_ duration)

VALUES(1,101,60),(2,102,600),(3,103,310),(4,101,120),(5,104,3200),(6,102,330),(7,103,290),(8,105,290),(9,101,180),(10,103,320);

输出描述

video_id63710

说明:UP主视频数据表中,发布视频平均时长大于300秒的UP主ID为102、103、104。将这些UP主对应视频数据,按UP主视频平均时长倒序、视频ID升序,取第3行到6行的视频ID为6、3、7、10。

参考题解

先选出平均时长>300的up主与uploader_video_record表进行左连接,条件为tb.uploader_id = uploader_video_record.uploader_id,然后对AVG( video_duration )降序排序,再限制范围即可。

SQL:

SELECT
 uploader_video_record.video_id 
FROM
 ( SELECT uploader_id, AVG( video_duration ) AS `tm` FROM uploader_video_record GROUP BY uploader_id HAVING AVG( video_duration ) > 300 ) AS tb
 LEFT JOIN uploader_video_record ON tb.uploader_id = uploader_video_record.uploader_id 
ORDER BY
 tm DESC,
 video_id 
 LIMIT 2,
 4;

第二题

题目

给定两个字符串s1和s2,返回使两个字符用相等所需删除字符的ASCLL值的最小和。

0<=s1.length.s2.length<=1000

s1和s2由小写英文字母组成.

样例输入

"sea","eat"

样例输出

231

说明

解释:在“sea”中删除“s”并将"s”的值(115)加入总和。

在"eat”中删除“t“并将116 加入总和。

结束时,两个字符串相等,115+116 =231 就是符合条件的很小和。

参考题解

如果选中的两个位置相等,则不需要进行操作,dp[i][j]= dp[I – 1][j – 1] 如果不同,dp[i][j] = min(dp[i - 1][j] + s1[i - 1], dp[i][j - 1] + s2[j - 1])。

class Solution {
public:
    int minimumDeleteSum(string s1, string s2) {
        int m = s1.size();
        int n = s2.size();
        vector<vector<int>> dp(m + 1, vector<int>(n + 1));

        for (int i = 1; i <= m; ++i) {
            dp[i][0] = dp[i - 1][0] + s1[i - 1];
        }
        for (int j = 1; j <= n; ++j) {
            dp[0][j] = dp[0][j - 1] + s2[j - 1];
        }
        for (int i = 1; i <= m; i++) {
            char c1 = s1[i - 1];
        

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

2023 秋招笔试题汇总解析 文章被收录于专栏

2023秋招各大笔试题汇总,c++,java,python多种语言分析,解答。

全部评论

相关推荐

2025-12-08 16:04
门头沟学院 Java
本人本科末9,今年大三。大一大二一直玩,什么都没学到,在大学混日子混了两年,每天不是在打农就是在steam。大三开学时一个和自己玩的好的同学去实习了,才发现自己白白浪费了两年的时间,如果真不冲一下就真去京东,阿里,美团送外卖了今年9月份开始学Java,一开始一直跟着黑马视频看,后面发现看视频效率太低了,时间根本不够,就开始主要看文档和看书了。这几个月一直在学,真的尽力了,希望暑期前能找一份好点的实习。我简历上面的项目大多没有指标,但是实际上我是真没多少时间去做项目,我基本主要是动手只做了外卖和天机,黑马点评和12306我都是只是看了项目。主要是自己的时间真的不多,但是这样子自己的代码能力确实比较差。而且自己也没有做过实际的工程,我顶多用jmeter测试一下接口tps啥的,比如使用Redis管道提升了一点性能,减少Redis交互,这种值得写上去吗?需不需要具体到某些数字求求各位佬给一些建议,看看简历怎么优化?项目介绍是不是不够详细?没有具体到业务方面。项目会不会提到大致实现原理导致面试官一看简历就知道怎么实现就没有问的欲望?专业技能一些字段是不是要加粗,是不是写太啰嗦了?有没有必要压缩内容变成一页?两页的话是不是都要把两页填地满满的。
给秋招一个交代:一页简历最好,网上做的项目放面试官眼里都是玩具,简历上不需要强调有什么难点,记住就行防止真的问。然后背八股,多投多面试就行
点赞 评论 收藏
分享
2025-12-03 19:12
广东海洋大学 Java
点赞 评论 收藏
分享
评论
4
5
分享

创作者周榜

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