快手机器学习笔试

其中考到了一道算法当时没顺利写出来,ip地址转换为整数。
#include <iostream>
#include <string>
#include <vector>
using namespace std;

vector<int> cal_nums(string s){
	int length = s.size();
	int num = 0;
	vector<int> nums;
	for (int i = 0; i < length; ++i){
		char item = s[i];
		if (item == '.'){
			if (num > 255)
				return nums;
			else{
				nums.push_back(num);
				num = 0;
			}
		}
		else if (item >= '0' && item <= '9')
			num = num * 10 + item - '0';
		else
			return nums;
	}
	if (num > 255)
		return nums;
	else{
		nums.push_back(num);
		num = 0;
	}
	return nums;
}

int main(){
	string ip = "10.0.***3";
	vector<int> nums = cal_nums(ip);
	long long val = 0;
	if (nums.size() == 4){
		long long val1 = nums[0] << 24;
		long long val2 = nums[1] << 16;
		long long val3 = nums[2] << 8;
		val += val1 + val2 + val3 + nums[3];
	}
	cout << val << endl;

	return 0;
}
#快手##机器学习##笔试题目#
全部评论
全是手撕算法题,没有问项目或者基础知识吗?
点赞 回复 分享
发布于 2019-09-26 20:29

相关推荐

01-24 08:13
已编辑
合肥工业大学 Java
程序员牛肉:没啥问题。标准的流水线简历,但是学历好一点,所以应该是有约面的机会的。 这段时间可以考虑把自己的两个项目彻底的理一理。争取能够讲清楚每一个功能点
点赞 评论 收藏
分享
评论
1
6
分享

创作者周榜

更多
牛客网
牛客企业服务