华为OD机试 - 小明找位置 (Java 2024年C卷D卷)

华为OD机试(C卷+D卷)2024真题目录(Java & c++ & python)

题目描述

小朋友出操,按学号从小到大排成一列;小明来迟了,请你给小明出个主意,让他尽快找到他应该排的位置。

算法复杂度要求不高于nLog(n);学号为整数类型,队列规模<=10000;

输入描述

1、第一行:输入已排成队列的小朋友的学号 (正整数),以”,”隔开

​ 例如: 93,95,97,100,102,123,155
2、第二行:小明学号,如110;

输出描述

输出一个数字,代表队列位置 (从1开始)例如:
6

示例1

输入

93 95 97 100 102 123 155
110

输出

6

解题思路

数据较小,且仅要求不高于n*logn,那么O(n)的直接遍历也可以,这里讲一下二分查找的解法,时间复杂度为O(logn),以应对需要更优化的情况。
二分法的学习可以参考:浅谈二分法(1)

参考代码

import java.util.Scanner;public class Main {public static int findPosition(int[] arr, int target) {int left = 0;int right = arr.length;while (left < right) {int mid = left + (right - left) / 2;if (arr[mid] < target) {left = mid + 1;} else {right = mid;}}return left + 1;}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 读取第一行String[] arrStr = scanner.nextLine().split(" ");int[] arr = new int[arrStr.length];for (int i = 0; i < arrStr.length; i++) {arr[i] = Integer.parseInt(arrStr[i]);}// 读取第二行int target = scanner.nextInt();// 输出结果System.out.println(findPosition(arr, target));scanner.close();}
}

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

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

相关文章

Wonder3D 论文学习

论文链接&#xff1a;https://arxiv.org/abs/2310.15008 代码链接&#xff1a;https://github.com/xxlong0/Wonder3D 解决了什么问题&#xff1f; 随着扩散模型的提出&#xff0c;3D 生成领域取得了长足进步。从单张图片重建出 3D 几何是计算机图形学和 3D 视觉的基础任务&am…

World of Warcraft [CLASSIC] Timebadge

游戏币【每个服务器实时金价不一样&#xff0c;本例子是5000-6000金】 1枚【魔兽世界时光徽章】 30天游戏时间。 5760金币游戏币&#xff0c;策划如何消耗游戏里面的金币总量&#xff0c;以及如何留住那些非人民币玩家呢 30天加上去了 World of Warcraft [CLASSIC] [魔兽世界…

c# TcP 开发

在C#中进行TCP开发&#xff0c;通常使用System.Net.Sockets命名空间下的TcpListener和TcpClient类。以下是一个简单的TCP服务器和客户端示例。 TCP服务器端: using System; using System.Net; using System.Net.Sockets; using System.Text;class TcpServer {private TcpList…

搜索与下载Stable Diffusion 模型

我只是一个刚开始学习SD没多久小白&#xff0c;拿到别人的工作流想要运行时&#xff0c;很多时候还要下载对应的模型才能正常运行&#xff0c;虽然也可以通过comfyui-manager下载&#xff0c;不过有时候好像会下载失败&#xff0c;而单独下载所需模型&#xff0c;我自己试过&am…

WebKit的屏幕唤醒:保持设备活力的API

WebKit的屏幕唤醒&#xff1a;保持设备活力的API 在现代Web应用中&#xff0c;保持用户的持续参与和提供流畅的体验至关重要。WebKit的屏幕唤醒&#xff08;Wake Lock API&#xff09;为此提供了一个强大的解决方案。这个API允许Web应用在特定条件下阻止设备的屏幕进入休眠状态…

英语科技写作 希拉里·格拉斯曼-蒂(英文版)pdf下载

下载链接&#xff1a; 链接1&#xff1a;https://pan.baidu.com 链接2&#xff1a;/s/1fxRUGnlJrKEzQVF6k1GmBA 提取码&#xff1a;b69t 由于是英文版&#xff0c;可能有些看着不太方便&#xff0c;可以在网页版使用以下软件中英文对照着看&#xff0c;看着更舒服&#xff0c;…

Centos常用运维命令及使用示例

命令 功能说明 使用示例 man 查看命令帮助 man ls help 查看Linux内置命令的帮助 help cd ls 功能是列出目录的内容 ls cd 从当前工作目录切换到指定的工作目录 cd /root/home cp 其功能为复制文件或目录 cp file1 /root/home/file2 find 用于查找目录及目录下的文件 find /hom…

图书管理系统设计

设计一个图书管理系统时&#xff0c;我们需要考虑系统的基本功能、用户需求、技术选型以及数据的安全性和完整性。下面是一个基本的图书管理系统的设计概览&#xff1a; 1. 系统目标 管理图书信息&#xff1a;添加、删除、修改图书信息。借阅管理&#xff1a;处理借书、还书流…

Express 框架基本用法以及相关知识点

Express框架基本用法包括安装、创建应用、监听请求和响应客户端 Express 框架基本用法 1.安装&#xff1a; 使用npm或cnpm将Express安装到项目中&#xff0c;命令为$ npm install express4.17.1。安装后&#xff0c;还需安装一些额外的中间件&#xff0c;如body-parser、coo…

Python 教程(二):语法与数据结构

目录 前言专栏列表语法特点实例代码基本数据类型变量命名规则赋值动态类型作用域示例代码 运算符list、set和dict 数据结构 区别1. list&#xff08;列表&#xff09;2. set&#xff08;集合&#xff09;3. dict&#xff08;字典&#xff09; 总结 前言 Python 是一种计算机编…

Linux调试器gdb

1.debug版本的文件才能调试 gcc默认编译生成的是release版本&#xff0c;在输入gcc编译指令时&#xff0c;要加-g&#xff0c;才会生成debug版本的可执行文件。 可以看到&#xff0c;code_dbug比code大&#xff0c;因为debug版本含有调试信息&#xff0c;往往比release版本的…

【BUG】已解决:SyntaxError:positional argument follows keyword argument

SyntaxError:positional argument follows keyword argument 目录 SyntaxError:positional argument follows keyword argument 【常见模块错误】 【解决方案】 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页&#xff0c;我是博主英杰&#xff0c…

uniapp 开发app使用renderjs操作dom

需求&#xff1a;把页面中的对话内容另存为一张图片保存到手机相册。 解决方案&#xff1a;这时我们需要使用到document对象创建一个dom对象计算对话内容的宽高、位置等&#xff0c;再利用canvas能力将内容绘制绘制成一张图保存。 现状&#xff1a;总所周知&#xff0c;非H5端&…

【SOC 芯片设计 DFT 学习专栏 -- DFT OCC 与 ATPG的介绍】

请阅读【嵌入式及芯片开发学必备专栏】 请阅读【芯片设计 DFT 学习系列 】 如有侵权&#xff0c;请联系删除 转自&#xff1a; 简矽芯学堂 简矽芯学堂 2024年01月18日 09:00 陕西 文章目录 OCC 介绍Fast ScanFull chip ATPGPartition ATPGHierarchical ATPG OCC 介绍 OCC&am…

微信小程序实现聊天界面,发送功能

.wxml <scroll-view scroll-y"true" style"height: {{windowHeight}}px;"><view wx:for"{{chatList}}" wx:for-index"index" wx:for-item"item" style"padding-top:{{index0?30:0}}rpx"><!-- 左…

力扣高频SQL 50题(基础版)第十题

文章目录 力扣高频SQL 50题&#xff08;基础版&#xff09;第十题1661. 每台机器的进程平均运行时间题目说明思路分析实现过程准备数据实现方式结果截图总结 力扣高频SQL 50题&#xff08;基础版&#xff09;第十题 1661. 每台机器的进程平均运行时间 题目说明 表: Activity…

Git merge

Git merge 参考文档&#xff1a; https://marsishandsome.github.io/2019/07/Three_Way_Merge https://git-scm.com/docs/merge-strategies https://stackoverflow.com/questions/56889406/how-does-git-compare-two-files-while-merging Git merge的目标是合并changes&#x…

idea一键为实体类赋值

file -> settings -> plugins -> marketplace 把这个插件装上 找个实体&#xff0c;选中&#xff0c;altenter进入edit界面 我是选择只保留右边这种生成方法&#xff0c;然后选择ok 返回到那个实体&#xff0c;选择&#xff0c;altenter generate生成

创建线程的几种方式

严格来讲&#xff0c;创建线程只有一种方式&#xff0c;就是实现Runnable接口&#xff0c;其他创建线程的方式也是对其封装。 继承Thread方式 public class Thread extends java.lang.Thread {Overridepublic void run() {super.run();} } 进入Thread可以看到&#xff0c;也是…

Spark实时(四):Strctured Streaming简单应用

文章目录 Strctured Streaming简单应用 一、Output Modes输出模式 二、Streaming Table API 三、​​​​​​​​​​​​​​Triggers 1、​​​​​​​unspecified&#xff08;默认模式&#xff09; 2、​​​​​​​​​​​​​​Fixed interval micro-batches&am…