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

免费建设个人网站全国各城市疫情高峰感染高峰进度

免费建设个人网站,全国各城市疫情高峰感染高峰进度,不同类型网站比较及网站域名设计,效果图网站推荐大全目录 一、小R的随机播放顺序 问题描述 测试样例 解题思路: 问题理解 数据结构选择 算法步骤 最终代码: 运行结果: 二、 不同整数的计数问题 问题描述 测试样例 解题思路: 问题理解 数据结构选择 算法步骤 最终…

目录

一、小R的随机播放顺序

问题描述

测试样例

解题思路: 

问题理解

数据结构选择

算法步骤

最终代码: 

运行结果: 

二、 不同整数的计数问题

问题描述

测试样例

解题思路: 

问题理解

数据结构选择

算法步骤

最终代码:

运行结果:​编辑 

 


一、小R的随机播放顺序

问题描述

小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]

解题思路: 

问题理解

题目描述了一个特殊的随机播放规则:

  1. 首先播放歌单中的第一首歌,并将其从歌单中移除。
  2. 如果歌单中还有歌曲,则将当前第一首歌移到最后一首。
  3. 重复上述过程,直到歌单中没有任何歌曲。

数据结构选择

为了实现这个播放规则,我们可以使用一个队列(Queue)来模拟歌单。队列的特点是先进先出(FIFO),非常适合模拟歌曲的播放顺序。

算法步骤

  1. 初始化:将所有歌曲放入队列中。
  2. 播放歌曲
    • 从队列中取出第一首歌,并将其加入结果列表。
    • 如果队列中还有歌曲,将当前队列的第一首歌移到队列的末尾。
  3. 重复:重复上述步骤,直到队列为空。

 

最终代码: 

#include <iostream>
#include <vector>
#include <queue>  // 引入队列头文件std::vector<int> solution(int n, std::vector<int> a) {std::vector<int> result;  // 用于存储播放顺序std::queue<int> songQueue;  // 用于模拟歌单的队列// 将所有歌曲放入队列中for (int song : a) {songQueue.push(song);}// 模拟播放过程while (!songQueue.empty()) {// 取出队列中的第一首歌,并将其加入结果列表int currentSong = songQueue.front();songQueue.pop();result.push_back(currentSong);// 如果队列中还有歌曲,将当前队列的第一首歌移到队列的末尾if (!songQueue.empty()) {int nextSong = songQueue.front();songQueue.pop();songQueue.push(nextSong);}}return result;  // 返回最终的播放顺序
}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;
}

运行结果: 

 

二、 不同整数的计数问题

问题描述

小R有一个字符串 word,该字符串由数字和小写英文字母组成。小R想用空格替换每一个不是数字的字符。然后,他希望统计在替换后剩下的整数中,不同整数的数目。

例如,给定字符串 "a123bc34d8ef34",替换后形成的字符串是 " 123 34 8 34",剩下的整数是 "123""34""8" 和 "34"。不同的整数有三个,即 "123""34" 和 "8"

注意,只有当两个整数的不含前导零的十进制表示不同,才认为它们是不同的整数。


测试样例

样例1:

输入:word = "a123bc34d8ef34"
输出:3

样例2:

输入:word = "t1234c23456"
输出:2

样例3:

输入:word = "a1b01c001d4"
输出:2

解题思路: 

好的,让我们来分析一下这个问题的解题思路。

问题理解

你需要处理一个由数字和小写英文字母组成的字符串,目标是统计替换后剩下的不同整数的数目。具体步骤如下:

  1. 字符串处理:遍历字符串,将非数字字符替换为空格。
  2. 提取整数:在遍历过程中,将连续的数字字符拼接成整数。
  3. 去除前导零:对于提取出的整数,去除前导零。
  4. 去重:使用集合(set)来存储不同的整数,确保每个整数只出现一次。
  5. 统计结果:最终集合的大小即为不同整数的数目。

数据结构选择

  • 集合(set:用于存储不同的整数,自动去重。
  • 字符串(string:用于临时存储拼接的数字。

算法步骤

  1. 初始化:创建一个集合用于存储不同的整数,创建一个字符串用于临时存储数字。
  2. 遍历字符串
    • 如果当前字符是数字,将其拼接到临时字符串中。
    • 如果当前字符不是数字,处理临时字符串中的数字:
      • 去除前导零。
      • 将处理后的数字加入集合。
      • 清空临时字符串。
  3. 处理最后一个数字:遍历结束后,如果临时字符串不为空,处理并加入集合。
  4. 返回结果:集合的大小即为不同整数的数目。

 

最终代码:

#include <iostream>
#include <string>
#include <set>
using namespace std;int solution(string word) {// PLEASE DO NOT MODIFY THE FUNCTION SIGNATURE// write code hereset<string> unidqueNumbers; //用集合存储不同的整数string currentNumber = ""; // 临时变量,用来拼接数字for (char ch : word) {if (isdigit(ch)) {currentNumber += ch;} else {// 如果遇到非数字字符,处理当前数字if (!currentNumber.empty()) {// 去除前导零并加入到 set 中while (currentNumber.size() > 1 && currentNumber[0] == '0') {// 表示从位置0开始删除一个字符currentNumber.erase(0, 1);}unidqueNumbers.insert(currentNumber);currentNumber = "";}} }// 遇到非数字才会处理数字,所以要处理字符串最后的数字if (!currentNumber.empty()) {// 去除前导零并加入到 set 中while (currentNumber.size() > 1 && currentNumber[0] == '0') {// 表示从位置0开始删除一个字符currentNumber.erase(0, 1);}unidqueNumbers.insert(currentNumber);}return unidqueNumbers.size();
}int main() {cout << (solution("a123bc34d8ef34") == 3) << endl;cout << (solution("t1234c23456") == 2) << endl;cout << (solution("a1b01c001d4") == 2) << endl;return 0;
}

运行结果: 

 

 

 

http://www.wooajung.com/news/22471.html

相关文章:

  • 广东专业网站建设重庆森林为什么叫这个名字
  • 网站用户黏度灰色推广
  • 网站策划书中应包括市场竞争对手的信息网页制作模板
  • 企业宣传网站建设模板新东方烹饪学校学费价目表
  • 做黑彩网站会怎样处罚产品市场营销策划书
  • 网站优化计划关键词权重如何打造
  • wordpress亿级数据网络运营seo是什么
  • 深圳建站程序今日重大新闻事件
  • 网站内链检查外贸独立站推广
  • 公司做网站要多长时间审核沈阳优化网站公司
  • 手机钓鱼网站免费制作可以免费发布广告的平台有哪些
  • 南宫做网站免费推广方式有哪些
  • 政府部门门户网站建设方案新闻发稿软文推广
  • 网站建设具体需求seo优化思路
  • 做网站备案什么意思百度百科词条
  • 个人网站命名技巧投稿网
  • 淘宝京东网站建设目的苏州seo服务
  • 网站策划书的撰写流程是什么抖音的商业营销手段
  • 广州冼村的人为什么这么有钱天津seo优化公司
  • 宁波建设工程学校网站网站维护工作内容
  • 公司设计网站费用产品软文范例软文
  • 武汉疫情最新消息今天台州关键词优化报价
  • 周口学做网站微信小程序开发详细步骤
  • 知名网站建设公司 北京云南网站建设快速优化
  • 专门做尾单的网站包头seo
  • 代理分佣后台网站开发怎么让百度收录网址
  • 网站建设网页开发药品销售推广方案
  • 做类似猪八戒网的网站上海谷歌seo
  • 炉石做任务抽奖网站友链交换有什么作用
  • 学习怎么做网站google搜索排名优化