[每日习题]进制转换 参数解析——牛客习题

news2024/9/23 21:29:48

        hello,大家好,这里是bang___bang_,本篇记录2道牛客习题,进制转换(简单),参数解析(中等),如有需要,希望能有所帮助!

目录

1️⃣进制转换

2️⃣参数解析


1️⃣进制转换

进制转换_牛客题霸_牛客网 (nowcoder.com)

描述

        给定一个十进制数 M ,以及需要转换的进制数 N 。将十进制数 M 转化为 N 进制数。

        当 N 大于 10 以后, 应在结果中使用大写字母表示大于 10 的一位,如 'A' 表示此位为 10 , 'B' 表示此位为 11 。

        若 M 为负数,应在结果中保留负号。

数据范围:M<=10^8,2≤N≤16

要求:

示例1:

输入:7,2

返回值:“111”

示例2:

输入:10,16

返回值:”A“

解题思路:

        1.M为0,直接返回"0"。

        2.M为负数,我们只需要使用标记位记录,将M转换为正数进行进制转换,最后输出再添加上”-“。        

        3.求进制转换数,就是将数和进制不断相除,余数就是进制转换后的数,直到该数被除为0。

🌰8转化为二进制:

 

        4.对于十六进制数0~9对应0~9;10~15对应A~F,只需要使用字符串"0123456789ABCDEF"

利用下标映射,我们可以发现下标刚好就是0~15,与字符串内容刚好形成十六进制转换。   

总结创建字符串"0123456789ABCDEF"利用下标映射到对应进制转换数,为负数最后添加"-"

代码实现:

class Solution {
public:
    string solve(int M, int N) {
        if(M==0)
            return "0";
        bool flag=false;//负数标记位
        string s,tables="0123456789ABCDEF";
        if(M<0)
        {
            flag=true;
            M=-M;//转化为正数
        }
        while(M!=0)
        {
            s+=tables[M%N];
            M/=N;
        }
        if(flag)
        {
            s+="-";
        }
        reverse(s.begin(),s.end());
        return s;
    }
};

2️⃣参数解析

参数解析_牛客题霸_牛客网 (nowcoder.com)

描述

在命令行输入如下命令:

xcopy /s c:\\ d:\\e,

各个参数如下:

参数1:命令字xcopy

参数2:字符串/s

参数3:字符串c:\\

参数4: 字符串d:\\e

请编写一个参数解析程序,实现将命令行各个参数解析出来。

解析规则:

1.参数分隔符为空格
2.对于用""包含起来的参数,如果中间有空格,不能解析为多个参数。比如在命令行输入xcopy /s "C:\\program files" "d:\"时,参数仍然是4个,第3个参数应该是字符串C:\\program files,而不是C:\\program,注意输出参数时,需要将""去掉,引号不存在嵌套情况。
3.参数不定长

4.输入由用例保证,不会出现不符合要求的输入

数据范围:字符串长度: 1≤s≤1000 

进阶:时间复杂度:O(n) ,空间复杂度:O(n) 

输入描述:

输入一行字符串,可以有空格

输出描述:

输出参数个数,分解后的参数,每个参数都独占一行

示例:

输入:xcopy /s c:\\ d:\\e

输出:

        4

        xcopy

        /s

        c:\\

        d:\\e

解题思路: 

        1.输入参数有空格,使用getline输入参数

        2.使用临时string变量存储解析的参数,解析出来的参数存入向量。

        3.使用标记位判断当前是否处在参数内容包含的字符串中,处在记为true,默认为false。

        4.参数由空格分开,遍历参数,遇到空格并且不在字符串内即成功分割参数,存入向量。

        5.最后一个参数末尾没有空格,遍历完成后,再直接将最后一个参数(临时变量此时的值)存入向量

代码实现:

#include <iostream>
#include<string>
#include<vector>
using namespace std;

void Getexplain(string cmd)
{
    vector<string>res;
    string s="";//空串
    bool flag=false;//标记是否在字符串中,默认不在
    for(int i=0;i<cmd.size();i++)
    {
        if(cmd[i]=='"')
        {
            flag=!flag;
        }
        else if(cmd[i]==' '&&!flag)
        {
            res.push_back(s);
            s="";
        }
        else {
            s+=cmd[i];
        }   
    }
    //存入最后一个参数(没有空格结尾)
    res.push_back(s);
    cout<<res.size()<<endl;
    for(auto e:res)
    {
        cout<<e<<endl;
    }
}

int main() {
    string cmd;
    getline(cin,cmd);
    Getexplain(cmd);
    return 0;
}

文末结语,本篇记录了2道牛客习题,1道简单题(进制转换);1道中等题(参数解析),本文旨在记录,如有需要,希望能有所帮助!!

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

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

相关文章

safe敏捷项目管理,safe框架简介

一、SAFe简介 SAFe是ScaledAgile Framework的简称&#xff0c;由DeanLeffingwell创建&#xff0c;SAFe&#xff08;Scaled Agile Framework&#xff09;是全球运用最广泛的大规模敏捷框架。 SAFe融合了精益、敏捷和DevOps&#xff0c;它是一个知识库&#xff0c;囊括了大量已…

【面试】某公司记录一次面试题

文章目录 框架类1. Spring boot与 spring 架相比&#xff0c;好在哪里?2. Spring boot以及 Spring MVC 常用注解(如requestingMapping&#xff0c;responseBody 等)3. 常用的java 设计模式&#xff0c;spring 中用到哪些设计模式4. SpringIOC是什么&#xff0c;如何理解5. AOP…

v-model绑定checkbox无法动态更新视图

在vue2中使用v-model绑定checkbox <input type"checkbox" v-model"isChecked" :valueisChecked change"handleCheckboxChange" />监听change事件&#xff0c;并在change事件中做一些特殊处理&#xff0c;比如用户在登录时有没有阅读过隐私…

C语言文件io操作

一、fopen 在C语言中&#xff0c;操作文件之前应该先打开文件。使用<stdio.h>头文件中的fopen()函数可以打开文件&#xff0c;因为FILE也是结构体&#xff0c;我们通过返回一个文件指针就可以对文件进行操作。在用完fopen之后要记得关闭该文件流。 用法&#xff1a; F…

小目标检测(3)——msgqueue多线程通信和多线程互斥编程

文章目录 引言正文代码的执行和线程使用std::mutex进行编程mutex基本用法std::lock_guard的使用std::unique_lock的使用 condition_variable的使用wait函数的使用condition_variable的整体代码 多线程编程的基本语句 总结引用 引言 在学习老师给的目标检测的代码过程中&#xf…

红队攻防 | 解决HW被疯狂封IP姿势~(附下载)

本项目其实就是个简单的代理服务器&#xff0c;经过小小的修改。加了个代理池进来。渗透、爬虫的时候很容易就会把自己ip给ban了&#xff0c;所以就需要ip代理池了。 ProxyPool 爬虫代理IP池项目,主要功能为定时采集网上发布的免费代理验证入库&#xff0c;定时验证入库的代理…

排序算法(冒泡排序、选择排序、插入排序、希尔排序、堆排序、快速排序、归并排序、计数排序)

&#x1f355;博客主页&#xff1a;️自信不孤单 &#x1f36c;文章专栏&#xff1a;数据结构与算法 &#x1f35a;代码仓库&#xff1a;破浪晓梦 &#x1f36d;欢迎关注&#xff1a;欢迎大家点赞收藏关注 文章目录 &#x1f353;冒泡排序概念算法步骤动图演示代码 &#x1f34…

ED透明屏有哪些应用场景?

ED透明屏是一种新型的显示技术&#xff0c;它采用了电致变色技术&#xff0c;可以实现屏幕的透明显示。ED透明屏的出现&#xff0c;为我们的生活带来了许多便利和创新。 首先&#xff0c;ED透明屏可以应用于商业广告领域。 传统的广告牌往往是固定的&#xff0c;无法改变内容&…

浅入浅出MySQL事务

什么是事务 事务是由数据库中一系列的访问和更新组成的逻辑执行单元。 事务的逻辑单元中可以是一条SQL语句&#xff0c;也可以是一段SQL逻辑&#xff0c;这段逻辑要么全部执行成功&#xff0c;要么全部执行失败。 事务处理的基本原则是“原子性”、“一致性”、“隔离性”和…

vue 修改端口号

在根目录创建一个vue.config.js文件夹 module.exports {lintOnSave: false,devServer: {port: 3000,open: true} }运行后

降压IC 外置MOS DC48V转24V 3A 30V-80V转24V 3A 高压大功率

摘要&#xff1a;本文介绍了AH8A50QA降压IC外置MOS芯片方案&#xff0c;可将输入电压范围从30V至80V和9V至100V转换为24V输出&#xff0c;并提供最大3A的输出电流。该芯片方案采用了内置MOS管和QFN-20封装&#xff0c;适用于电动车和汽车车载充电源等高压大功率应用场景。 随着…

Cpp6 — 模板

模板&#xff1a;这里有一个概念&#xff1a;泛型编程---针对广泛的类型去写代码编程。之前都是针对具体的类型进行编程。 模板分为函数模板和类模板。 函数模板 当我们想要使用一个swap可以用作多种类型时&#xff0c;可以使用模板。这样我们就可以不使用重载&#xff0c;不…

商城小程序踩坑(一):iPhone 11、iPhoneX 等设备底部安全区域/小黑条适配

一、前言 这两天正在开发商城小程序-商品详情页&#xff0c;在做设备测试的时候突然发现详情页底部—— 购物车 和 购买区域在苹果手机上不适配&#xff0c;并且还存在小黑条。 底部功能没有办法正常使用。 如下图所示&#xff1a; 解决后效果&#xff0c;如下图所示&#xff…

Swagger之Hello World !

目录 ■1&#xff0e;前言・Swagger介绍 ■2&#xff0e;例子&#xff0c;如果基于Spring Boot项目&#xff0c;实现Swagger---非常简单 2&#xff0e;1&#xff0e;已有的SpringBoot项目 2&#xff0e;2&#xff0e;修改POM文件 2&#xff0e;3&#xff0e;添加Config文件…

html请求谷歌音频跨域问题(谷歌翻译接口)虚拟机ping不通google(下载谷歌音频、下载百度翻译音频)

文章目录 调用谷歌翻译接口&#xff0c;尝试了几种方案&#xff0c;都提示跨域不行第一种&#xff08;通过js代码获取音频文件的Blob对象&#xff0c;提示跨域了&#xff09;代码结果 第二种&#xff08;尝试新窗打开音频url&#xff0c;404&#xff0c;估计也是跨域了&#xf…

StarRocks Friends 广州站精彩回顾

上周六&#xff0c;StarRocks & Friends 活动在羊城广州成功举行&#xff0c;社区的小伙伴齐聚一堂&#xff0c;共同探讨了 StarRocks 在业界的应用实践和湖仓一体等热门话题。 本文总结了技术交流活动的关键内容和视频资料&#xff0c;感谢社区每一位小伙伴的支持和参与&…

如何提高接口测试覆盖率?

接口测试是测试系统组件间接口的一种测试。 接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。 测试的重点是要检查数据的交换&#xff0c;传递和控制管理过程&#xff0c;以及系统间的相互逻辑依赖关系等。 接口测试该如何提高测试的覆盖率呢&#…

PCL点云处理之最小二乘空间直线拟合(3D) (二百零二)

PCL点云处理之最小二乘空间直线拟合(3D) (二百零二) 一、算法简介二、实现代码三、效果展示一、算法简介 对于空间中的这样一组点:大致呈直线分布,散乱分布在直线左右, 我们可采用最小二乘方法拟合直线,更进一步地,可以通过点到直线的投影,最终得到一组严格呈直线分布…

软件测试一周面试十家公司,分享面试经历

从开始面试讲起&#xff0c;公司规模我分成5类&#xff1a;创业公司0-20人&#xff0c;小型公司20-40人&#xff0c;中小型50-99&#xff0c;中型公司100-499即将上市的那种&#xff0c;已上市公司100-499。 创业公司 第一个面试的那家创业公司特别坑&#xff0c;开始面试&am…

4年测试“我“该何去何从?测试还是测试开发?

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 4年测试&#xff…