【2020】百度校招Java研发工程师笔试卷(第二批)算法题

贴一下我去年9月份写的博客

三道编程题,一道数学题,两道图论,哎嘿嘿,我就是不会做,哎嘿嘿,哭了。。。

一.最小值

牛牛给度度熊出了一个数学题,牛牛给定数字n,m,k,希望度度熊能找到一组非负整数a,b满足(n−a)(m−b)≤k且a+b尽量小。

度度熊把这个问题交给了你,希望你能帮他解决。

那么做这种题目,一看就是数学题,当时我直接看了几眼没思路就跳了。没想到是线性规划方程
其实要把这个方程拆开看
k>=(n-a)(m-b)=nm-ma-nb+ab

=m(n-a)+b(a-n)

=m(n-a-b)+b(a-n+m) // 这一步是关键,如果没有想到这一步,那么后面的就更想不到了

=m(n-(a+b)) + b ((m-n) + a)

> = m ( n − ( a + b ) ) >= m(n - (a+b)) >=m(n(a+b))
是不是很像初高中做的不等式。。。呵呵呵

import java.util.Scanner;
// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);long n = in.nextLong();long m = in.nextLong();long k = in.nextLong(); /**(n - k / m) >= a+ b,我们要让两数更小那个降低更快,那么其实让n更小,降低得会更快点,这个也是一个关键点*/if(n > m) { long temp       n = m;m = temp;}// 所以经过上面分析,列式子可以得System.out.print(n - k / m);}
}

二.返回公司

image.png

import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息
public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int T = in.nextInt();while(T > 0) {T--;int n =in.nextInt();int m = in.nextInt();ArrayList<Integer>[] graph = new ArrayList[n + 1];for(int i = 1 ;i <= n; i++) {graph[i] = new ArrayList<>();}for(int i = 0; i < m;i ++) {int a = in.nextInt();int b = in.nextInt();graph[a].add(b);graph[b].add(a);}List<Integer> now = graph[1];boolean flag = false;for(int i : now) { List<Integer> next = graph[i];if(next.contains(n) || i == n) {flag = true;break;}}if(flag) { // 这个输出一定要放外面,放里面的话如果第一个不符合就会跳出来,// 就检测不到后面的了,相当于每次都检测第一个System.out.println("POSSIBLE");} else {System.out.println("IMPOSSIBLE");}}}
}

不愧是2020的题,虽然是不同批次的,但是跟之前做的那套题的算法解法差不多,之前那道题可以点击这里

3.

image.png

上网找了挺久的,都没有找到解析,所以决定问聪明的chatgpt(后续来了,问了ChatGPT也也没问出来,答案都是错的,就连已有的测试用例都过不了)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/638492.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

PG DBA培训21:PostgreSQL性能优化之基准测试

本课程由风哥发布的基于PostgreSQL数据库的系列课程&#xff0c;本课程属于PostgreSQL Performance Benchmarking&#xff0c;学完本课程可以掌握PostgreSQL性能基准测试基础知识,基准测试介绍,基准测试相关指标,TPCC基准测试基础,PostgreSQL测试工具介绍,PostgreSQL性能基准测…

java常见集合类的区别

ArrayList和LinkedList之间有什么区别&#xff1f; ArrayList和LinkedList都是Java集合框架中的List接口的实现类&#xff0c;它们在实现方式、性能和适用场景等方面存在一些区别。 底层数据结构&#xff1a;ArrayList是基于动态数组的数据结构&#xff0c;而LinkedList则是基…

Python使用graphviz绘制模块间数据流

graphviz官方参考链接&#xff1a; http://www.graphviz.org/documentation/ https://graphviz.readthedocs.io/en/stable/index.html 文章目录 需求描述环境配置实现思路代码实现 需求描述 根据各模块之间的传参关系绘制出数据流&#xff0c;如下图所示&#xff1a; 并且生成…

【SpringBoot】SpringBoot 项目初始化方法

github 搜索 springboot 模板 github 搜索 springboot 模板&#xff0c;拉取现成代码。 SpringBoot 官方的模板生成器 SpringBoot 官方的模板生成器&#xff08;https://start.spring.io/&#xff09; 在 IDEA 开发工具中生成 这里我修改成阿里的镜像主要是要使用 Java8。 …

Elasticsearch 数组值的存储详细介绍

在Elasticsearch中&#xff0c;数组是一种可以存储多个值的字段类型&#xff0c;这些值可以是字符串、数字、对象或者其他数据类型。数组在Elasticsearch中的存储和查询是相对直接和简单的。以下是关于数组值存储的一些要点&#xff1a; 1. 数组字段映射 在Elasticsearch中&am…

YOLOv8 更换主干网络之 HGNetV2

论文地址:https://arxiv.org/abs/2304.08069 代码地址:https://github.com/PaddlePaddle/PaddleDetection 中文翻译:https://blog.csdn.net/weixin_43694096/article/details/131353118 YOLOv8 更换方式 YOLOv8 想用这个主干直接换就行了,因为项目里面已经集成了,写一个…

[python]使用pyqt5搭建yolov8钢筋计数一次性钢材计数系统

【官方框架地址】 github地址&#xff1a;https://github.com/ultralytics/ultralytics 【算法介绍】 Yolov8是一种先进的深度学习模型&#xff0c;用于目标检测和识别。在钢筋计数任务中&#xff0c;Yolov8可以有效地识别和计数图像中的钢筋。下面是对如何使用Yolov8实现钢筋…

【嵌入式移植】4、U-Boot源码分析1—Makefile

U-Boot源码分析1—Makefile 1 分析思路2 u-boot源码目录结构3 Makefile源码3.1 版本号3.2 环境变量3.3 Beautify output3.4 输出文件的目录设置、PHONY目标3.6 目录信息3.5 Source Code Checker3.7 设置单独编译模块、PHONY目标3.8 获取宿主机的架构和系统3.9 设置交叉编译工具…

vue3数据劫持proxy

一、vue2响应式设计 vue2利用Object.defineProperty来劫持data数据的getter和setter操作&#xff0c;遇到数组和对象必须循环遍历所有的域值才能劫持每一个属性 。 Object.keys(data).forEach((prop) > {const dep new Dep();Object.defineProperty(data, prop, {get () {…

urllib模块使用

urllib.request.urlopen(url, dataNone, [timeout, ]*, cafileNone, capathNone, cadefaultFalse, contextNone) import urllib.requesturl http://httpbin.org/ip response urllib.request.urlopen(url) html response.read() # 返回bytes类型数据 print(html)url http:…

一个非常流行的R语言调色板:RColorBrewer

R 语言有许多非常优秀的调色板&#xff0c;本文就介绍一个非常流行的&#xff0c;我也经常在用的调色板 R 包&#xff1a;RColorBrewer。 安装 install.packages("RColorBrewer") 加载 library(RColorBrewer) library(knitr) 初探 ?RColorBrewer 在帮助页面可以看到…

Oracle数据库协议适配器错误解决方法

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的很重要&…

Python实现单因素方差分析

Python实现单因素方差分析 1.背景 正念越来越受到人们关注&#xff0c;正念是一种有意的、不加评判的对当下的注意觉察。可以通过可以通过观呼吸、身体扫描、正念饮食等多种方式培养。 为了验证正念对记忆力的影响&#xff0c;选取三组被试分别进行正念训练&#xff0c;运动训…

使用STM32的UART实现蓝牙通信

✅作者简介&#xff1a;热爱科研的嵌入式开发者&#xff0c;修心和技术同步精进 代码获取、问题探讨及文章转载可私信。 ☁ 愿你的生命中有够多的云翳,来造就一个美丽的黄昏。 &#x1f34e;获取更多嵌入式资料可点击链接进群领取&#xff0c;谢谢支持&#xff01;&#x1f447…

外部配置文件和Class打包到jar 然后重新启动java -jar

我这边以demo.jar和application-dev.properties配置文件为例 一.将Test1.class和Test2.class替换到jar内部 步骤1&#xff1a;解压原始demo.jar 将两个class文件拷贝到jar目录下后cd到文件目录执行&#xff1a; jar xf demo.jar BOOT-INF/classes/com/test/ jar xf demo.jar…

解密.dataru被困的数据:如何应对.dataru勒索病毒威胁

导言&#xff1a; 在数字时代&#xff0c;勒索病毒如.dataru正在不断演变&#xff0c;威胁着用户的数据安全。本文91数据恢复将深入介绍.dataru勒索病毒的特点、被加密数据的恢复方法&#xff0c;以及预防措施&#xff0c;帮助您更好地了解并对抗这一数字威胁。当面对被勒索病…

基于SpringBoot的在线问卷调查管理系统

基于SpringBoot的在线问卷调查管理系统的设计与实现~ 开发语言&#xff1a;Java数据库&#xff1a;MySQL技术&#xff1a;SpringBootMyBatis工具&#xff1a;IDEA/Ecilpse、Navicat、Maven 系统展示 前台主页 问卷列表 问卷详情 管理员界面 摘要 基于Spring Boot的在线问卷调…

JVM篇--垃圾回收器高频面试题

1 你知道哪几种垃圾收集器&#xff0c;各自的优缺点是啥&#xff0c;重点讲下cms和G1&#xff0c;包括原理&#xff0c;流程&#xff0c;优缺点&#xff1f; 1&#xff09;首先简单介绍下 有以下这些垃圾回收器 Serial收集器&#xff1a; 单线程的收集器&#xff0c;收集垃圾时…

云贝教育 |【OceanBase】OBCA认证考试预约流程

一、OBCA账号登录/注册&#xff0c;链接 https://www.oceanbase.com/ob/login/mobile?gotohttps%3A%2F%2Fwww.oceanbase.com%2Ftraining%2Fdetail%3Flevel%3DOBCA 注册完之后&#xff0c;请点击右上“登录”进行实名认证 OBCA考试报名链接&#xff1a;https://www.oceanbase.…

SQLite的临时视图和“一般”视图的区别

在SQLite中&#xff0c;临时视图和永久视图是两种不同的对象&#xff0c;它们之间有几个关键的区别&#xff1a; 作用域&#xff08;Scope&#xff09;&#xff1a; 临时视图&#xff08;Temporary View&#xff09;&#xff1a;仅在创建它的数据库连接会话中可见和可用。当创…