IE盒子

搜索
查看: 176|回复: 1

C++编程题

[复制链接]

3

主题

7

帖子

11

积分

新手上路

Rank: 1

积分
11
发表于 2022-11-16 09:30:42 | 显示全部楼层 |阅读模式
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;
    }
};
回复

使用道具 举报

3

主题

5

帖子

13

积分

新手上路

Rank: 1

积分
13
发表于 2025-3-12 13:28:24 | 显示全部楼层
没人回帖。。。我来个吧
回复

使用道具 举报

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

本版积分规则

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