网资酷

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 151|回复: 1

C++编程题

[复制链接]

3

主题

4

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2022-9-26 19:45:41 | 显示全部楼层 |阅读模式
1、输入一个表示16进制的字符串,编写函数将之转换为10进制的数字,并返回。
解析:通过C++<sstream>库可以快速解决此问题,创建一个stringstream对象,然后通过控制输出的方式来达到进制转换的方式,这里通过将s控制为std::hex然后流入num变量中完成目的。
int changeHexToDEC(string str)
{
        int num = 0;
        stringstream s(str);
        s >> std::hex >> num;
        return num;
}
2、给定一个 n 个元素有序的(升序)整型数组 nums 和一个目标值 target  ,写一个函数搜索 nums 中的 target,如果目标值存在返回下标,否则返回 -1。(题目来源来源:力扣(LeetCode)力扣)



二分查找变量示意图

class Solution {
public:
    int search(vector<int>& nums, int target) {
        int left = 0;
        int right = nums.size() - 1;
        int mid = 0;
        while (left <= right)
        {
            mid = left + (right - left) / 2;
            if (nums[mid] == target)
                return mid;
            else if (target < nums[mid])
            {
                right = mid - 1;
            }
            else
            {
                left = mid + 1;
            }
        }
        return -1;
    }
};
回复

使用道具 举报

2

主题

7

帖子

14

积分

新手上路

Rank: 1

积分
14
发表于 2025-4-19 06:52:33 | 显示全部楼层
佩服佩服!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|网资酷

GMT+8, 2025-7-6 05:50 , Processed in 0.097310 second(s), 23 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表