|
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;
}
}; |
|