2021届bilibili笔试2020-08-13场
一堆选择加上三道算法,选择题忽略
1.给出四个数,判断能不能满足24点
暴力枚举所有情况就能通过
class Soltion{public boolean Game24Points (int[] arr) {// write code heredfs(0,arr,0);return flag;}boolean flag = false;public void dfs(int index,int[] arr,int num) {if (index > arr.length - 1 || flag) {if (num == 24) {flag = true;}return;}int r = arr[index];for (int i = 0; i < 4; i++) {if (i == 0) {dfs(index + 1,arr,num + r);} else if (i == 1) {dfs(index + 1,arr,num - r);} else if (i == 2) {dfs(index + 1,arr,num * r);} else if (i == 3 && r != 0) {dfs(index + 1,arr,num / r);}}}
}
2.判断括号是否满足条件,括号有三种:(){}[],不分优先级
经典栈应用
class Solution{//判断字符串是否有效,()[]{}public boolean IsValidExp (String s) {if (s == null || s.length() == 0) {return true;}// write code hereStack<Character> stack = new Stack<>();int i = 0;int l = s.length();while (i < l) {char c = s.charAt(i);char out;if (c == '(' || c == '[' || c == '{') {stack.push(c);} else {if (stack.isEmpty()) {return false;}if (c == ')') {out = stack.pop();if (out == '[' || out == '{') {return false;}} else if (c == ']') {out = stack.pop();if (out == '(' || out == '{') {return false;}} else if (c == '}') {out = stack.pop();if (out == '(' || out == '[') {return false;}}}i++;}return stack.isEmpty();}
}
3.找零问题,最少找多少硬币
解法1贪心:
class Solution{public int GetCoinCount (int N) {//dp// write code hereint sub = 1024 - N;int res = 0;res += sub/64;sub %= 64;res += sub/16;sub %= 16;res += sub/4;sub %= 4;res += sub/1;return res;
}
}
解法2动态规划:
class Solution{public int GetCoinCount (int N) {//dp// write code hereint sub = 1024 - N;if (sub == 0) {return 0;}int[] dp = new int[sub + 1];dp[1] = 1;if (sub >= 4) {dp[4] = 1;}if (sub >= 16) {dp[16] = 1;}if (sub >= 64) {dp[64] = 1;}for (int i = 2; i <= sub; i++) {if (i == 4 || i == 16 || i == 64) {continue;}if (i <= 1) {dp[i] = 1;} else if (i < 4) {dp[i] = dp[i - 1] + 1;} else if (i < 16) {dp[i] = Math.min(dp[i - 1],dp[i - 4]) + 1;} else if (i < 64) {dp[i] = Math.min(Math.min(dp[i - 1],dp[i - 4]),dp[i - 16]) + 1;} else {dp[i] = Math.min(Math.min(Math.min(dp[i - 1],dp[i - 4]),dp[i - 16]),dp[i - 64]) + 1;}}//System.out.println("====");//System.out.println(Arrays.toString(dp));//System.out.println("====");return dp[sub];
}
}
解法3,dfs加上备忘录:
class Solution{public int GetCoinCount (int N) {//dp// write code hereint sub = 1024 - N;coinDfs(sub,0);return min;}private HashMap<Integer,Integer> map = new HashMap<>(1024);private int min = 2000;public int coinDfs(int coin,int number) {if (coin < 0) {return 2001;}if (coin == 0) {min = Math.min(number,min);return min;}if (map.containsKey(coin)) {min = Math.min(min,number + map.get(coin));return min;}int t = coinDfs(coin - 64,number + 1);t = Math.min(t,coinDfs(coin - 16,number + 1));t = Math.min(t,coinDfs(coin - 4,number + 1));t = Math.min(t,coinDfs(coin - 1,number + 1));map.put(coin,t);return t;}
}
开始第一反应是dp,但是提交不对,后来用备忘录写了一遍,写一半,发现好像就是贪心,然后,贪心交了,就对了,再把备忘录写完交上去也对。然后我想不通为什么dp不对,一对比,发现当n=1024时候,dp[1]那里会越界,所以就出问题了。
2021届bilibili笔试2020-08-13场相关推荐
- 拼多多算法岗第一场笔试 2020.08.02
过题情况 第一题 100% 第二题 100% 第三题 100% 第四题 20% 第一题: 小模拟 #include<bits/stdc++.h> using namespace std; ...
- 2021届BiliBili校招 数据分析/后端开发 笔试题记录
文章目录 1. 背景 2. 题型 3. 选择题范围 3.1 数据结构 3.2 计算机网络 3.3 操作系统 3.4 计算机组成 3.5 其他 4. 算法题 4.1 第一题 4.2 第二题 4.3 第三 ...
- 美团后端笔试2022.08.13
文章目录 1.魔法外卖 2.打扫房间 3.扑克牌游戏 4.三元组变形问题 附加题:树的分支最大值 昨天刚刚笔试结束,然后今天抽空给大家整理一下,然后简单说一下思路. 整场笔试下来,整体难度一般,只不过 ...
- 【华为2021秋招】【数字IC】【FPGA逻辑】【笔试解析】【独家】【2021届秋招】【FPGA探索者】【DengFengLai123】
声明: /********************************************************* 文章首发于公众号,原创作者为 [公众号/知乎:FPGA探索者] [CSDN ...
- 2020年秋招回顾总结(2021届),目前已在上海入职工作,感恩亲人与朋友,未来,你好!
一.前言 秋招结束拿到Offer后,已入职公司三个星期,一直想写一篇秋招总结给我的小伙伴们,但忙于刚来到这座陌生的城市,生活中有很多事情要进行初始化(init),例如租房子,租到房子之后买毛巾,买脸盆 ...
- 潇洒郎: 去哪儿2021届/2020年开发岗笔试题分享
去哪儿2021届/2020年开发岗笔试题分享 1. 2020年,直播已经成为去哪儿网酒店预售的新武器, 去哪儿网CEO刚哥想从公司的m名员工中挑选n名参与自己的直播,已知m小于100请问一共有多少种选 ...
- 2021年东港二中高考成绩查询,辽宁省东港二中2021届英语高考模拟试卷1(新课改原创2020版,供2021年课改省份考生使用)...
ID:12674887 资源大小:288KB 资料简介: 说明:新高考变化:2021届考生取消听力,4个阅读每个2.5分共37.5分,七选五阅读每个2.5分共12.5分,完形填空由20个变成15个每个 ...
- 河北师范大学计算机专业保研率,河北省内13所高校2021届保研率一览
原标题:河北省内13所高校2021届保研率一览 河北省内具有保研资格的高校有13所,现已全部公布了2021届的保研情况,一起来看看吧. 注:部分院校数据为推算数据,可能与实际数据略有出入,仅供参考! ...
- 牛客网真题刷题经验一:浩鲸科技2020届java笔试
1.浩鲸科技2020届java笔试 编写Java Application 程序,查找出字符串str中字符A,替换成字符B,并统计替换的次数.[注]不可以使用Java的内置函数,如index().rep ...
最新文章
- iOS开发能用mysql吗_iOS开发之数据库的简单使用
- wifi卡慢延迟高_健康生活好助手:华为智能体脂秤 WiFi 版 体验评测
- linux7 重新开始udev,Redhat Linux 7 创建UDEV设备(示例代码)
- 暴力优化解法+哈希解法——2016年第七届蓝桥杯省赛b组第八题 四平方和
- [Java基础]final和static修饰符
- 设计模式学习笔记一——开篇
- JAVA8的新特性之函数式接口
- 【英语学习】【English L06】U02 Food L4 Food around the world
- 基于matlab的gps信号仿真123,MATLABGPS信号仿真完整源代码.doc
- IOS 文件管理 2
- Pulseaudio之libsndfile for android(二十)
- Linux Shell脚本详细教程
- 初识Excel (Excel基础一)树形图
- 程序员叫啥名字_网友:什么是好程序员?程序员:用心给自己起个“配”自己的网名...
- 服务器的主板芯片组,关于P8系列服务器主板芯片组的一些事儿
- Hulu推荐:小众又新颖的综艺
- EVE模拟器关联CRT与Wireshark
- SpringEL 表达式语言(Spring Expression Language)
- ViewBinding和DataBinding的理解和区别
- Android 数据库知识回顾
热门文章
- QQ空间爬虫最新分享,一天 400 万条数据(附代码地址)
- 基于STM32和阿里云的矿道环境监测系统(温湿度DHT117,NRF2401(2.4G模块),气体传感器(MQ-3),0.96寸OLED屏,wifi模块)
- GitHub上收集的最全的前端资源汇总(包括前端学习、求职、开发资源)
- BZOJ 1266: [AHOI2006]上学路线route Floyd算法,网络最小割
- 是心跳影响情绪,还是情绪影响心跳?
- 澳大利亚最大的个贷公司Latitude遭攻击,两家服务提供商受影响
- SurfaceView、GLSurfaceView、SurfaceTexture、TextureView、SurfaceHolder、Surface
- JAVA编程:斐波那契数列(Fibonacci)
- rrd.so更新导致rrd_fetch返回值变更,与旧版不兼容
- 【观察】后疫情时代,如何实现远程办公确保业务连续性?