字节青训-小C的外卖超时判断、小C的排列询问

目录

一、小C的外卖超时判断

问题描述

测试样例

 解题思路:

问题理解

数据结构选择

算法步骤

最终代码:

 运行结果:

二、小C的排列询问

问题描述

测试样例

最终代码:

运行结果: 

 ​编辑

 


一、小C的外卖超时判断

问题描述

小C点了一个外卖,并且急切地等待着骑手的送达。她想知道她的外卖是否超时了。

已知小C在时刻 t1 点了外卖,外卖平台上显示的预计送达时间为 t2,而实际送达时间为 t3。需要判断外卖是否超时。如果外卖超时,则输出 "Yes";否则输出 "No"

t3 在 t2 之后则认定为超时。

实际送达时间与预计送达时间在 2 小时之内。


测试样例

示例 1:

输入:t1 = "18:00", t2 = "19:05", t3 = "19:05"
输出:"No"

示例 2:

输入:t1 = "23:00", t2 = "00:21", t3 = "00:23"
输出:"Yes"

示例 3:

输入:t1 = "23:05", t2 = "00:05", t3 = "23:58"
输出:"No"

 解题思路:

问题理解

我们需要判断外卖是否超时。具体来说,如果实际送达时间 t3 在预计送达时间 t2 之后,则认定为超时。

数据结构选择

由于输入的时间是字符串格式(例如 "18:00"),我们需要将这些时间转换为可以比较的格式。一种常见的方法是将时间转换为分钟数(从当天的00:00开始计算)。

算法步骤

  1. 解析时间字符串:将 t1t2t3 解析为小时和分钟。
  2. 转换为分钟数:将小时和分钟转换为从当天00:00开始的分钟数。
  3. 比较时间:比较 t3 和 t2 的分钟数。如果 t3 大于 t2,则输出 "Yes",否则输出 "No"

最终代码:

#include <iostream>
#include <string>using namespace std;std::string solution(const std::string& t1, const std::string& t2, const std::string& t3) {// 解析时间字符串int t1_hour = std::stoi(t1.substr(0, 2));int t1_minute = std::stoi(t1.substr(3, 2));int t2_hour = std::stoi(t2.substr(0, 2));int t2_minute = std::stoi(t2.substr(3, 2));int t3_hour = std::stoi(t3.substr(0, 2));int t3_minute = std::stoi(t3.substr(3, 2));// 转换为分钟数int t1_minutes = t1_hour * 60 + t1_minute;int t2_minutes = t2_hour * 60 + t2_minute;int t3_minutes = t3_hour * 60 + t3_minute;// 处理跨天情况if (t2_minutes < t1_minutes) {t2_minutes += 24 * 60; // 加上一天的分钟数}if (t3_minutes < t1_minutes) {t3_minutes += 24 * 60; // 加上一天的分钟数}// 计算时间差int t2_diff = t2_minutes - t1_minutes;int t3_diff = t3_minutes - t1_minutes;// 比较时间差if (t3_diff <= t2_diff) {return "No";} else {return "Yes";}
}int main() {std::cout << (solution("18:00", "19:05", "19:05") == "No") << std::endl;std::cout << (solution("23:00", "00:21", "00:23") == "Yes") << std::endl;std::cout << (solution("23:05", "00:05", "23:58") == "No") << std::endl;return 0;
}

 运行结果:

二、小C的排列询问

问题描述

小C拿到了一个排列,她想知道在这个排列中,元素 xx 和 yy 是否是相邻的。排列是一个长度为 nn 的数组,其中每个数字从 11 到 nn 恰好出现一次。

你的任务是判断在给定的排列中,xx 和 yy 是否是相邻的。


测试样例

样例1:

输入:n = 4, a = [1, 4, 2, 3], x = 2, y = 4
输出:True

样例2:

输入:n = 5, a = [3, 4, 5, 1, 2], x = 3, y = 2
输出:False

样例3:

输入:n = 6, a = [6, 1, 5, 2, 4, 3], x = 5, y = 2
输出:True

最终代码:

#include <iostream>
#include <vector>
using namespace std;bool solution(int n, vector<int> a, int x, int y) {// 遍历数组for (int i = 0; i < n - 1; i++) {// 检查当前元素和下一个元素是否分别是 x 和 y,或者 y 和 xif ((a[i] == x && a[i + 1] == y) || (a[i] == y && a[i + 1] == x)) {return true;}}// 如果没有找到相邻的 x 和 y,返回 falsereturn false;
}int main() {cout << (solution(4, {1, 4, 2, 3}, 2, 4) == true) << endl;cout << (solution(5, {3, 4, 5, 1, 2}, 3, 2) == false) << endl;cout << (solution(6, {6, 1, 5, 2, 4, 3}, 5, 2) == true) << endl;return 0;
}

运行结果: 

 

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

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

相关文章

linux使用scp和密钥在不同服务器传输文件

将源服务密钥中公钥&#xff08;以pub结尾的&#xff09;复制或拷贝密文&#xff0c;粘贴到目标服务器中的/root/.ssh/authorized_keys文件中&#xff1b; 测试连接&#xff1a;ssh -p2129 root172.129.162.537&#xff0c;如果使用默认端口22 -p参数可省略&#xff0c;注意这…

数据结构习题——有效的括号(栈),栈与队列和互相实现,循环队列的实现

文章目录 前言1、有效的括号题目思路代码 2、用队列实现栈题目思路代码 3、用栈实现对列题目思路代码 4、设计循环队列4.1循环队列的概念和了解题目思路代码 总结 前言 继上篇博客学习了栈与队列之后&#xff0c;今天我们来尝试着使用他们来写一些题目&#xff0c;话不多说&…

常用命令之LinuxOracleHivePython

1. 用户改密 passwd app_adm chage -l app_adm passwd -x 90 app_adm -> 执行操作后&#xff0c;app_adm用户的密码时间改为90天有效期--查看该euser用户过期信息使用chage命令 --chage的参数包括 ---m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。 ---M 密码…

IDEA优雅debug

目录 引言一、断点分类&#x1f384;1.1 行断点1.2 方法断点1.3 属性断点1.4 异常断点1.5 条件断点1.6 源断点1.7 多线程断点1.8 Stream断点 二、调试动作✨三、Debug高级技巧&#x1f389;3.1 watch3.2 设置变量3.3 异常抛出3.4 监控JVM堆大小3.5 数组过滤和筛选 引言 使用ID…

鸿蒙学习生态应用开发能力全景图-赋能套件(1)

文章目录 赋能套件鸿蒙生态应用开发能力全景图 赋能套件 鸿蒙生态白皮书: 全面阐释了鸿蒙生态下应用开发核心理念、关键能力以及创新体验,旨在帮助开发者快速、准确、全面的了解鸿蒙开发套件给开发者提供的能力全景和未来的愿景。 视频课程: 基于真实的开发场景,提供向导式…

使用Python和BeautifulSoup进行网页抓取:通过Python编程语言,结合BeautifulSoup库,可以轻松地从网站上抓取所需的信息。

江之篇&#xff1a;从源头到大海的Python网络爬虫之旅 嗨&#xff0c;亲爱的朋友&#xff01;&#x1f44b; 你是否曾想象过自己是一条奔腾不息的江河&#xff0c;从源头出发&#xff0c;穿越森林、平原&#xff0c;最终汇入浩瀚的海洋&#xff1f;今天&#xff0c;我要带你踏…

贴代码框架PasteForm特性介绍之select,selects,lselect和reload

简介 PasteForm是贴代码推出的 “新一代CRUD” &#xff0c;基于ABPvNext&#xff0c;目的是通过对Dto的特性的标注&#xff0c;从而实现管理端的统一UI&#xff0c;借助于配套的PasteBuilder代码生成器&#xff0c;你可以快速的为自己的项目构建后台管理端&#xff01;目前管…

人工智能技术的应用前景与我们的应对策略

​ 大家好&#xff0c;我是程序员小羊&#xff01; 随着人工智能&#xff08;AI&#xff09;技术的快速发展&#xff0c;其在社会生活、产业转型以及科技进步中发挥着日益重要的作用。AI正逐步改变着我们的生活和工作方式&#xff0c;同时也带来了技术和伦理上的诸多挑战。本文…

Unreal engine5实现类似鬼泣5维吉尔二段跳

系列文章目录 文章目录 系列文章目录前言一、实现思路二、具体使用蓝图状态机蓝图接口三、中间遇到的问题 前言 先看下使用Unreal engine5实现二段跳的效果 一、实现思路 在Unreal Engine 5 (UE5) 中使用蓝图系统实现类似于《鬼泣5》中维吉尔的二段跳效果&#xff0c;可以通…

AI 无人直播常见问题剖析:轻松一键开播,畅行智能直播新时代

在数字化转型的浪潮中&#xff0c;AI无人直播作为一种新兴的直播模式&#xff0c;正在逐步改变着传统直播行业的格局。它不仅为观众带来了更加沉浸式的观看体验&#xff0c;还为直播从业者提供了前所未有的便利。然而&#xff0c;正如任何新兴技术一样&#xff0c;AI无人直播也…

vue中重置对象的好使方式(封装好的函数,可直接食用)

这里是封装了两个个简易的函数&#xff0c;巨好用&#xff0c;也简单。 一、重置ref对象 1.程序 function useResetRef(value, objName, resetName) {const obj ref(value())const reset () > {obj.value value()}return {obj,reset} } 2.使用方式&#xff1a; cons…

Python Excel XLS或XLSX转PDF详解:七大实用转换设置

目录 使用工具 Python将Excel文件转换为PDF Python将Excel文件转换为带页码的PDF Python将Excel文件转换为特定页面尺寸的PDF Python将Excel文件转换为PDF并将内容适应到一页 Python将Excel文件转换为PDF/A Python将Excel文件中的工作表转换为单独的PDF Python将Excel工…

Linux网络——网络初识

目录 1. 认识协议 2. 协议的分层 3. OSI 七层模型 && TCP/IP 五层(四层)模型 4. 网络传输的基本流程 5. 以太网的通信原理 6. 数据的跨网络传播 7. 认识 IP 地址 ① IP 是什么 ② IP 与 MAC 的关系 ③ 为什么需要 IP 在谈及网络之前&#xff0c;我们要先对学…

RedHat7—Linux中kickstart自动安装脚本制作

本实验使用虚拟机版本为rhel7&#xff0c;从rhel7后的版本kickstart工具进行收费使用。 1.在VMware关闭dhcp自动获取ip地址功能 2.安装并启动httpd [rootlocalhost ~]# yum install httpd [rootlocalhost ~]# systemctl start httpd [rootlocalhost ~]#systemctl stop firewal…

python核心语法(二)

第三节 类型转换 0.布尔值转换 使⽤⼀个内置函数bool()。 # 以下值都为True bool(2) bool(-1) bool(255) bool(0.1000001) bool(-99.99888) # 下⾯的值为False bool(0) bool(0.0)对于数值类型&#xff0c;所有的⾮零值转换为True, 只有零值才转换为False.字符串也可以转换为…

基于Python深度学习的【垃圾识别系统】实现~TensorFlow+人工智能+算法网络

一、介绍 垃圾识别分类系统。本系统采用Python作为主要编程语言&#xff0c;通过收集了5种常见的垃圾数据集&#xff08;‘塑料’, ‘玻璃’, ‘纸张’, ‘纸板’, ‘金属’&#xff09;&#xff0c;然后基于TensorFlow搭建卷积神经网络算法模型&#xff0c;通过对图像数据集进…

十:详解HTTP的请求行

在HTTP通信中,请求行(Request Line)是HTTP请求的开头部分,位于请求头(Request Headers)之前,包含了请求的核心信息。请求行主要由请求方法(Method)、请求目标(Target,即请求的URI)、协议版本(HTTP Version)三个要素组成。这些要素共同定义了客户端请求服务器资源…

OMV7 树莓派 tf卡安装

​ 升级7之后&#xff0c;问题多多&#xff0c;不是docker不行了&#xff0c;就是代理不好使 今天又重装了一遍&#xff0c;用官方的链接&#xff0c;重新再折腾一遍…… 使用raspberry pi imager安装最新版lite OS。 注意是无桌面 Lite版 配置好树莓派初始化设置&#xff0…

前端无感刷新token

摘要&#xff1a; Axios 无感知刷新令牌是一种在前端应用中实现自动刷新访问令牌&#xff08;access token&#xff09;的技术&#xff0c;确保用户在进行 API 请求时不会因为令牌过期而中断操作 目录概览 XMLHttpRequestAxiosFetch APIJQuni.request注意事项&#xff1a; 访问…

STM32 独立看门狗(IWDG)详解

目录 一、引言 二、独立看门狗的作用 三、独立看门狗的工作原理 1.时钟源 2.计数器 3.喂狗操作 4.超时时间计算 5.复位机制 四、独立看门狗相关寄存器 1.键寄存器&#xff08;IWDG_KR&#xff09; 2.预分频寄存器&#xff08;IWDG_PR&#xff09; 3.重载寄存器&…