当前位置: 首页 > news >正文

24.小R的随机播放顺序<字节青训营-中等题>

1.题目

问题描述

小R有一个特殊的随机播放规则。他首先播放歌单中的第一首歌,播放后将其从歌单中移除。如果歌单中还有歌曲,则会将当前第一首歌移到最后一首。这个过程会一直重复,直到歌单中没有任何歌曲。

例如,给定歌单 [5, 3, 2, 1, 4],真实的播放顺序是 [5, 2, 4, 1, 3]

保证歌曲中的id两两不同。


测试样例

样例1:

输入:n = 5 ,a = [5, 3, 2, 1, 4]

输出:[5, 2, 4, 1, 3]

样例2:

输入:n = 4 ,a = [4, 1, 3, 2]

输出:[4, 3, 1, 2]

样例3:

输入:n = 6 ,a = [1, 2, 3, 4, 5, 6]

输出:[1, 3, 5, 2, 6, 4]

2.思路

用队列存放原始歌单,模拟题目中的播放规则

3.代码

#include <iostream>
#include <vector>
#include <queue>
using namespace std;std::vector<int> solution(int n, std::vector<int> a) {// PLEASE DO NOT MODIFY THE FUNCTION SIGNATURE// write code herequeue<int> original_playlist; // 原始歌单vector<int> final_playlist; // 最终播放顺序// 将原始歌单放入队列中for (int i = 0; i < a.size(); i++) {original_playlist.push(a[i]);}while (original_playlist.size() != 0) {// 播放歌单中的第一首歌int cur = original_playlist.front();final_playlist.push_back(cur); // 播放后将其从歌单中移除original_playlist.pop();// 当前第一首歌移到最后一首cur = original_playlist.front();original_playlist.pop();original_playlist.push(cur);}return final_playlist;
}int main() {std::vector<int> result1 = {5, 2, 4, 1, 3};std::vector<int> result2 = {4, 3, 1, 2};std::vector<int> result3 = {1, 3, 5, 2, 6, 4};std::cout << (solution(5, {5, 3, 2, 1, 4}) == result1) << std::endl;std::cout << (solution(4, {4, 1, 3, 2}) == result2) << std::endl;std::cout << (solution(6, {1, 2, 3, 4, 5, 6}) == result3) << std::endl;
}


http://www.mrgr.cn/news/81979.html

相关文章:

  • 本地LLM部署--llama.cpp
  • python Celery 是一个基于分布式消息传递的异步任务队列系统
  • 28. 二叉树遍历
  • Android原生Widget使用步骤
  • leetcode 热题100(131. 分割回文串)c++
  • 《计算机网络A》单选题-复习题库解析-2
  • PySide6 一些基础资料
  • 选择器(结构伪类选择器,伪元素选择器),PxCook软件,盒子模型
  • Flutter封装一个三方ViewPager学习
  • 如何规范的提交Git?
  • 「Mac畅玩鸿蒙与硬件48」UI互动应用篇25 - 简易购物车功能实现
  • logback之自定义pattern使用的转换器
  • jetbrains HTTPS 请求与响应流量分析报告【二】
  • vuex - 第一天
  • apifox
  • 搭建ORB-SLAM3编译环境
  • GDPU Vue前端框架开发 期末赛道出勇士篇(更新ing)
  • GXUOJ-算法-第二次作业(矩阵连乘、最长公共子序列、0-1背包问题、带权区间调度)
  • fpga系列 HDL:ModelSim显示模拟波形+十进制格式数值(临时方法和设置持久化的默认值)
  • Unity中列表List使用出类似字典Dictionary的感觉
  • UE5材质节点Panner
  • Elasticsearch:analyzer(分析器)
  • 工业大数据分析算法实战-day19
  • 学习笔记 --C#基础其他知识点(同步和异步)
  • Hugging Face Dataset的 dataset_info.json 文件详解
  • LoRA微调系列笔记