【算法面试题】-07

小明找位置

在这里插入图片描述
题目描述
小朋友出操,按学号从小到大排成一列;小明来迟了,请你给小明出个主意,让他尽快找到他应该排的位置。

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

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

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

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

用例
输入93,95,97,100,102,123,155
110输出6
在这里插入图片描述

import bisect
arr = list(map(int, input().split()))
x = int(input())
idx = bisect.bisect_left(arr, x)
print(idx + 1)

在这里插入图片描述

传递悄悄话

在这里插入图片描述
在这里插入图片描述

w=[0]+list(map(int,input().split()))  # 从输入中读取一个整数列表,并在列表开头添加一个0
n=len(w)  # 获取列表的长度
res=0  # 初始化一个变量来存储最大和

def dfs(u,sum):  # 定义一个函数dfs,它接受两个参数:一个节点索引u和从根节点到当前节点的值之和sum
    if u>=n or w[u]==-1:  # 如果节点索引超出范围或节点值为-1(表示叶节点),则返回
        return
    global res  # 使用全局变量res
    res=max(res,sum+w[u])  # 更新res为其当前值和sum加上当前节点值的最大值
    dfs(u*2,sum+w[u])  # 递归调用dfs函数,传入左子节点和更新后的sum
    dfs(u*2+1,sum+w[u])  # 递归调用dfs函数,传入右子节点和更新后的sum
    
dfs(1,0)  # 以初始和为0调用dfs函数,传入根节点
print(res)  # 打印最大和

在这里插入图片描述

手机App防沉迷系统

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

class App:
    def __init__(self, name, p, start, end):
        self.name = name  # 应用名称
        self.p = p  # 优先级
        self.start = start  # 开始时间
        self.end = end  # 结束时间

def trans_to(data):
    arr = data.split(":")
    hour = int(arr[0])  # 小时部分
    minute = int(arr[1])  # 分钟部分
    return hour * 60 + minute  # 将时间转换为分钟表示

def trans_to_app(s):
    arr = s.split(" ")
    name = arr[0]  # 应用名称
    p = int(arr[1])  # 优先级
    start = trans_to(arr[2])  # 开始时间
    end = trans_to(arr[3])  # 结束时间
    return App(name, p, start, end)

n = int(input())  # 输入应用的数量
apps = []

# 读取每个应用的信息
for i in range(n):
    s = input()
    temp = trans_to_app(s)
    
    # 如果开始时间晚于结束时间,忽略该应用
    if temp.start > temp.end:
        continue
    
    apps.append(temp)

res = []

# 遍历每个应用
for i in range(len(apps)):
    ids = []
    
    # 找到与当前应用时间段有重叠的应用
    for j in range(len(res)):
        if res[j].start <= apps[i].end and apps[i].start <= res[j].end:
            ids.append(j)
    
    mx = -1
    
    # 找到重叠应用中优先级最高的
    for j in ids:
        mx = max(mx, res[j].p)
    
    # 如果当前应用优先级更高,则移除重叠应用,添加当前应用
    if mx < apps[i].p:
        for j in reversed(ids):
            res.pop(j)
        res.append(apps[i])

time = trans_to(input())  # 输入时间
ans = "NA"

# 查找当前时间所在的应用
for app in res:
    if app.start <= time and time <= app.end:
        ans = app.name
        break

print(ans)  # 输出结果

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

STM32外设分类--学习笔记

简介: 本文在于根据自己的理解&#xff0c;将stm32f103外设按照功能分个类别&#xff0c;便于记忆。下面的几张图一定要熟悉&#xff0c;后期编写代码时能够快速找到想要的功能和对应的引脚。 我使用的工具链是&#xff1a;使用CubeMX完成keil5工程搭建和引脚初始化功能,然后用…

使用Maven打包时出现Please refer to D:路径 for the individual怎么解决?

遇到这种情况不要着急&#xff0c;直接按照下面步骤即可&#xff1a; 解决方法1 可能是你的测试用例里出现了bug&#xff0c;根据下面提示的路径可以找到bug&#xff0c;打开 txt 文件&#xff08;可以每个都打开&#xff0c;不一定是哪个出bug了&#xff09; 去项目中修改完…

LeetCode(力扣)算法题_1261_在受污染的二叉树中查找元素

今天是2024年3月12日&#xff0c;可能是因为今天是植树节的原因&#xff0c;今天的每日一题是二叉树&#x1f64f;&#x1f3fb; 在受污染的二叉树中查找元素 题目描述 给出一个满足下述规则的二叉树&#xff1a; root.val 0 如果 treeNode.val x 且 treeNode.left ! n…

基于pci多功能采集卡——pci9640

一、追逐潮流&#xff0c;应运而生 信息社会的高速发展&#xff0c;在很大程度上取决于信息与信号处理的先进性。数字信号处理技术的出现改变了信号与信号处理技术的整个面貌&#xff0c;而数据采集作为数字信号处理的必不可少的前期工作在整个数字系统中起到关键性乃至决定性的…

C# RAM Stable Diffusion 提示词反推 Onnx Demo

目录 介绍 效果 模型信息 项目 代码 下载 C# RAM Stable Diffusion 提示词反推 Onnx Demo 介绍 github地址&#xff1a;GitHub - xinyu1205/recognize-anything: Open-source and strong foundation image recognition models. Open-source and strong foundation ima…

【Android】源码中的建造者模式

本文是基于 Android 14 的源码解析 在 Android 源码中&#xff0c;最常用到的建造者模式就是 AlertDialog.Builder&#xff0c;使用该建造者来构建复杂的 AlertDialog 对象。在开发过程中&#xff0c;我们经常用到 AlertDialog&#xff0c;具体示例如下&#xff1a; private f…

SA3D:基于 NeRF 的三维场景分割方法

Paper: Cen J, Zhou Z, Fang J, et al. Segment anything in 3d with nerfs[J]. Advances in Neural Information Processing Systems, 2024, 36. Introduction: https://jumpat.github.io/SA3D/ Code: https://github.com/Jumpat/SegmentAnythingin3D SA3D 是一种用于 NeRF 表…

RabbitMQ 面试题及答案整理,最新面试题

RabbitMQ的核心组件有哪些&#xff1f; RabbitMQ的核心组件包括&#xff1a; 1、生产者&#xff08;Producer&#xff09;&#xff1a; 生产者是发送消息到RabbitMQ的应用程序。 2、消费者&#xff08;Consumer&#xff09;&#xff1a; 消费者是接收RabbitMQ消息的应用程序…

阿里云领盲盒活动

阿里云每次的活动都很给力&#xff0c;实打实地发东西。 这次是体验 通义灵码 的活动&#xff0c;这个是体验的推广链接 「通义灵码 体验 AI 编码&#xff0c;开 AI 盲盒」 我是在vscode安装的&#xff0c;体验还行&#xff0c;抽奖抽到了马克杯 这个是抽奖的具体步骤 https:…

mysql对索引的选择简述

概述 在业务中经常会优化一些mysql的慢查询&#xff0c;通常都是使用explain去查看分析&#xff0c;检查扫描行数和索引的命中情况&#xff1b; 但是在具体索引的选择上&#xff0c;explain结果中并没有直接展示出来&#xff1b; 此时可以开启mysql的追踪优化器Trace功能&…

【Greenhills】MULTI IDE网络版license统计授权使用情况

【更多软件使用问题请点击亿道电子官方网站查询】 1、 文档目标 用于购买了GHS网络版的客户&#xff0c;对于license的调用情况进行统计和管理 2、 问题场景 对于购买了GHS网络版license的客户&#xff0c;想要对于授权的使用情况进行分析和管理&#xff0c;但是&#xff0c;…

c++ 常用函数 集锦 整理中

c 常用函数集锦 目录 1、string和wstring之间转换 1、string和wstring之间转换 std::string convertWStringToString(std::wstring wstr) {std::string str;if (!wstr.empty()){std::wstring_convert<std::codecvt_utf8<wchar_t>> converter;str converter.to_b…

【论文阅读】ACM MM 2023 PatchBackdoor:不修改模型的深度神经网络后门攻击

文章目录 一.论文信息二.论文内容1.摘要2.引言3.作者贡献4.主要图表5.结论 一.论文信息 论文题目&#xff1a; PatchBackdoor: Backdoor Attack against Deep Neural Networks without Model Modification&#xff08;PatchBackdoor:不修改模型的深度神经网络后门攻击&#xf…

西井科技参与IATA全球货运大会 以AI绿动能引领智慧空港新未来

3月12日至14日&#xff0c;由国际航空运输协会IATA主办的全球货运大会&#xff08;World Cargo Symposium&#xff09;在中国香港成功举办&#xff0c;这是全球航空货运领域最大规模与影响力的年度盛会。作为大物流领域全球领先的“智能化与新能源化”综合解决方案提供商&#…

参加大广赛是否有价值?让我们来看答案!

大广赛全称是全国大学生广告艺术大赛&#xff0c;是中国最大的高校广告创意竞赛活动。它由教育部高等教育司指导&#xff0c;中国传媒大学、大广赛文化传播&#xff08;北京&#xff09;有限公司共同举办。 命题素材在线预览https://js.design/f/Jspbti?sourcesh&planbtt…

互联网操作系统Puter

什么是 Puter &#xff1f; Puter 是一个先进的开源桌面环境&#xff0c;运行在浏览器中&#xff0c;旨在具备丰富的功能、异常快速和高度可扩展性。它可以用于构建远程桌面环境&#xff0c;也可以作为云存储服务、远程服务器、Web 托管平台等的界面。Puter 是一个隐私至上的个…

垃圾清理软件大全免费 磁盘空间不足?注册表不敢乱动怎么办?ccleaner官方下载

在日常的工作中&#xff0c;面对重要文件时往往都会备份一份&#xff1b;在下载文件时&#xff0c;有时也会不小心把一份文件下载好多次。这些情况会导致电脑中出现重复的文件&#xff0c;删除这些重复文件&#xff0c;可以节省电脑空间&#xff0c;帮助提高电脑运行速度。那么…

websocket 使用示例

websocket 使用示例 前言html中使用vue3中使用1、安装websocket依赖2、代码 vue2中使用1、安装websocket依赖2、代码 前言 即时通讯webSocket 的使用 html中使用 以下是一个简单的 HTML 页面示例&#xff0c;它连接到 WebSocket 服务器并包含一个文本框、一个发送按钮以及 …

大语言模型RAG-技术概览 (一)

大语言模型RAG-技术概览 (一) 一 RAG概览 检索增强生成&#xff08;Retrieval-AugmentedGeneration, RAG&#xff09;。即大模型在回答问题或生成问题时会先从大量的文档中检索相关的信息&#xff0c;然后基于这些信息进行回答。RAG很好的弥补了传统搜索方法和大模型两类技术…

自然语言处理(NLP)—— 语义关系提取

语义关系是指名词或名词短语之间的联系。这些关系可以是表面形式&#xff08;名词性实体&#xff09;之间的联系&#xff0c;也可以是知识工程中概念之间的联系。在自然语言处理&#xff08;NLP&#xff09;和文本挖掘领域&#xff0c;识别和理解这些语义关系对于信息提取、知识…