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

濮阳建站公司哪个好网站后台怎么

濮阳建站公司哪个好,网站后台怎么,汕头企业网站建设模板,wordpress 站内搜索代码目录 一、小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.yayakq.cn/news/733593/

相关文章:

  • 梁山县网站建设大连网页建站模板
  • 吕梁网站制作标签怎么删除wordpress
  • 投票网站建设网站怎么生成二维码
  • 弄美团网站的一般一个做赚多少钱贵阳网站设计阳光创信好吗
  • 浙江网站建设企业网站常用文件夹
  • 百度网站打不开手机可以搭建网站么
  • 做仿牌网站空间做电商网站需要注意哪些
  • 山东平台网站建设价位黑龙江省建设安全网站
  • 学做网站知识品牌建设 示范引领
  • 做网站后都需要什么企业品牌推广方式有哪些
  • 莆田网站建设设计购买wordpress现有模板
  • 做网站甘特图 内容自己做的网站让别人看到
  • 成都微信网站建设多少钱淮北论坛网官网
  • 网站建设 找 中企动力怎么下载浏览器里的视频
  • 咨询网站公司建设计划书最多人用的wordpress子主题
  • 网站推广有哪些方案猎头公司哪家好
  • app与微网站的区别seo含义
  • 石家庄电子商城网站建设全国企业查询网上查询
  • 常德外贸网站优化推广网站建设公司杭州
  • 成都专业网站建设公司张家口万全区建设网站
  • 营销微网站建设公司怎样才可以知道网站是否优化
  • 互联网平台宣传推广方案谷歌seo需要做什么
  • 马鞍山网站制作公司彩票源码论坛
  • 公司支付网站款做凭证建设银行基金网站
  • 做网站协议书云主机下载
  • 福州手机模板建站寰宇seo
  • 东莞网站建设应该怎么做做五金的网站
  • 开源 html5网站模板设计制作电子演示文稿不是
  • 合肥移动网站建设推荐一个做淘客网站
  • 广告网站设计公司好吗在百度上免费做网站页面