题解 | 继续xxx定律(利用数组追溯关键字)

#include <iostream>
#include <vector>
using namespace std;
// 太小可能无法通过全部用例
#define MAX_SIZE 14000
// 获取关联数字的数组表
// -1表示当前数字为关键字,否则为非关键字
 vector<int> get_link_table(vector<int>& nums) {
	vector<int> link_table(MAX_SIZE,-1);
	for (int i = 0; i < nums.size(); i++) {
		int last = nums[i],next;
		while (last != 1) {
		  	// KY132 xxx定律要求
			if (last & 1)
				next = (last * 3 + 1) / 2;
			else
				next = last / 2;
			// 遇到历史访问过的数据立刻跳出循环
			if (link_table[next] != -1)
				break;
			else
				link_table[next] = last;
			last = next;
		}
	}
	return link_table;
}
 
int main() {
	int length;
	while (cin >> length) {
		if (length == 0)
			break;
		vector<int> nums(length),link_table;
		for (int i = 0; i < nums.size(); i++)
			cin >> nums[i];
		link_table = get_link_table(nums);
		for (int i = nums.size() - 1; i >= 0; i--) {
			if (link_table[nums[i]] == -1)
				cout << nums[i] << " ";
		}
		cout << endl;
	}
  	return 0;
}

全部评论

相关推荐

环保行业作为推动可持续发展的关键领域,正迎来前所未有的发展机遇。掌握环保技术,积累项目经验,轻松搞定绿色offer,开启环保领域的高薪职业生涯。一、环保行业的热门技能环保行业对技术能力要求极高,掌握核心技能是关键。污染治理技术是基础,熟悉废水处理、废气净化和固废处理等技术,能够帮助你解决实际环境问题。环境监测则涉及水质监测、大气监测和土壤监测等技术,掌握这些技能能够确保环境数据的准确性和可靠性。此外,环境工程设计和项目管理也是必备技能,通过掌握环境工程设计原则和项目管理方法,能够帮助你高效完成环保项目。这些技能不仅能够提升你的专业能力,还能在求职中增加你的竞争力,帮助你轻松搞定绿色offer。二、如何提升环保技能提升环保技能需要理论学习与实践相结合。参加专业课程和培训,如环境工程认证课程,系统学习理论知识。参与实际项目是提升技能的关键。可以通过实习或参与环保项目,积累实际经验。例如,参与一个废水处理项目的实施,从项目规划到设备安装,再到调试运行,全程参与,不仅能提升你的技术能力,还能为简历增添亮点,增加搞定绿色offer的机会。关注行业动态,参加环保研讨会和学术会议,了解最新技术和应用场景,也是提升技能的重要途径。三、环保行业求职技巧在求职过程中,展示你的技术能力和项目经验是关键。优化简历,突出你在环保项目中的角色和成果,如成功实施的废水处理项目、优化的环境监测方案等。准备面试时,熟悉常见问题和案例分析,展示你的逻辑思维和问题解决能力。此外,建立个人品牌也很重要。通过维护LinkedIn等社交媒体上的专业形象,分享你的技术见解和项目经验,能够提升你的行业知名度,吸引更多潜在雇主的关注,从而轻松搞定绿色offer。参加行业活动,结识行业内专业人士,也能为你提供更多的求职机会和职业发展建议。#牛客AI配图神器#
点赞 评论 收藏
分享
01-30 23:44
生物工程
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务