大厂笔试真题

2023-10-26

1.复数相乘

                 

2.K个一组翻转链表 

#include<iostream>
#include<vector>
#include<string>


using namespace std;

void Reverse(vector<string>& arr, int begin, int end)
{
	while (begin < end)
	{
		swap(arr[begin], arr[end]);
		begin++;
		end--;
	}
}

int main()
{
	string str;  //输入的数字很大
	int k = 0;
	vector<string> li;
	while (cin >> str)
	{
		if (str == "#")
			break;

		li.push_back(str);
	}

	cin >> k;


	for (int i = 0; i <= li.size(); i += k)
	{
		//cout << i << " " << i + k - 1 << endl;

		if((i + k ) <= li.size())
		Reverse(li, i, i + k - 1);
	}

	for (int i = 0; i < li.size()-1; ++i)
	{
		cout << li[i] << "->";
	}

	cout << li[li.size() - 1] << endl;

	return 0;
}

                 

 3.递增子序列

  • 此题需要找的递增序列可以不连续,所以可以记录遍历当前位置时的最小的两个值,如果当前位置的值大于第二小的值,则可以说明存在这样的递增序列。
  • 这里需要注意,第二小的值必须在第一小的值的后面,如果更新了第一小的值,则也需要更新第二小的值。
#include<iostream>
#include<vector>
#include<string>


using namespace std;

int main()
{
	int n = 0;
	cin >> n;

	vector<int> arr(n);
	for (int i = 0; i < n; i++)
	{
		cin >> arr[i];
	}

	int first = arr[0];
	int second = INT_MAX;

	for (int i = 1; i < n; ++i)
	{
		if (arr[i] < first)
		{
			first = arr[i];
			second = INT_MAX;
            //如果更新了最小值,则第二小的值需要在后面找,所以此处需要更新
		}
		else if (arr[i] > first && arr[i] < second)
		{
			second = arr[i];
		}
		else if (arr[i] > first && arr[i] > second)
		{
			cout << "true" << endl;
			return 0;
		}
	}

	cout << "false" << endl;

	return 0;
}

4.硬币划分 (难)

5.合并二叉树

6.求表达式 f(n)结果末尾0的个数(巧)

7.字符串压缩算法 

//1.

#include<iostream>
#include<string>

using namespace std;

int main()
{
	string target;
	while (getline(cin,target))
	{
		if (target.size() < 2)
		{
			cout << target << endl;
		}

		string ret;
		int count = 0;
		int prev = 0;
		int cur = 1;

		while (cur <= target.size())
		{
			if (target[prev] == target[cur])
			{
				count++;
			}
			else
			{
				if(count != 0)
				ret += to_string(count);

				ret += target[prev];
				count = 0;
			}
			prev++;
			cur++;
		}

		cout << ret << endl;

	}

	return 0;
}

//2.
#include <string> 
#include <iostream> 
using namespace std; 

int main()
{
	string str;
	getline(cin, str);

	//遍历字符串
	for (int i = 0; i < str.length(); i++)
	{
		//用来记录重复字符数量 
		int cnt = 0;

		//判断是不是字符串中的重复字符 
		while (str[i] == str[i + 1])
		{
			i++;
			cnt++;
		}

		//先输出压缩的字符个数 
		if (cnt != 0)
		{
			cout << cnt;
		}
		//再输出被压缩的字符 
		cout << str[i];
	}

	return 0;
}

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

大厂笔试真题 的相关文章

  • 2021Java大厂面试经验分享,100%好评!

    Spring Security观后感 手绘思维脑 供参考 手绘的思维导图 是我自己根据自身的情况读完这套阿里出品的Spring Security王者晋级文档之后所绘的 相当于是一个知识的总结与梳理 我将其分为 核心组件 与 工作原理 认证流

随机推荐

  • 【从零开始学习C++

    目录 前言 委托构造函数 类内初始化 空指针 枚举类 总结 前言 C 的学习难度大 内容繁多 因此我们要及时掌握C 的各种特性 因此我们更新本篇文章 向大家介绍C 的新增特性 委托构造函数 委托构造函数是指一个类的构造函数调用另一个类的构造
  • 【云原生之k8s】k8s控制器

    文章目录 引言 Pod与控制器之间的关系 1 Deployment 无状态 2 SatefulSet 有状态 2 1 有状态与无状态的区别 2 2 常规service和无头服务区别 2 2 1 Service类型 2 2 2 headles
  • 未来会怎样?

    伴随Visual Studio 2008 的发布 NET 3 5也一起来了 J2EE风采依旧 Python风头正劲 未来会怎样 我们究竟要学多少新的东西才能不被日新月异的技术浪头打沉在海底 或许本不应该为了技术而技术 QQ不也很成功么 易趣
  • Docker镜像推送(push)到Docker Hub

    Docker镜像推送 push 到Docker Hub 1 Docker hub 注册账户 2 登录注册账户 随后输入账户名 密码 docker login 3 修改镜像名称 docker tag originName username o
  • n边形划分

    题目描述 已知存在n多边形 n为奇数 连接多边形所有对角线 能形成多少区域 输入描述 给定整数n 1 lt n lt 1e9 输出描述 输出区域数 对1e9 7取模 示例 输入5 输出11 include
  • 2018.09.18 atcoder Best Representation(kmp)

    传送门 思路简单不知为何调试了很久 显然要么分成n个 所有字符相同 要么分成1个 原字符串无循环节 要么分成两个 有长度至少为2的循环节 一开始以为可以直接hash搞定 后来wa了几次之后发现可以轻松举出反例于是弃了hash kmp大法好啊
  • 毕业设计 - 基于单片机的MP3设计与实现

    文章目录 1 简介 2 主要器件 3 实现效果 4 设计原理 核心算法 音频解码流程 5 部分实现代码 6 最后 1 简介 Hi 大家好 今天向大家介绍一个学长做的单片机项目 基于单片机的MP3设计与实现 大家可用于 课程设计 或 毕业设计
  • 软件工程技术--第四章 概要设计

    第四章 概要设计 4 1 软件设计概述 4 1 1 软件设计的概念与重要性 软件设计是软件工程的重要阶段 是一个将软件需求转换为软件表示的过程 软件设计的基本目标是用比较抽象概括的方式确定目标系统如何完成预定的任务 即确定系统的物理模型 解
  • EXCEL 数字统一转换成文本

    将excel中的数字统一转换成文本形式 即添加 1 点击数据 分列 2 分隔符号 下一步 3 选择文本识别符号 如 分号 4 选中文本 完成 转载于 https www cnblogs com vicdream p 4604012 html
  • 合宙 ESP32C3 使用micropython 驱动配套0.96寸 TFT ST7735 屏幕显示色块和文字

    合宙的esp32c3 开发板配套了0 96寸屏幕驱动板 可直接使用如下链接的代码 注意替换对应的pin脚和st7735 py文件 1 想显示色块参考如下链接 链接 合宙esp32c3 合宙air101LCD屏幕跑通microPython 2
  • hbase面试题(6)

    1 HBase来源于哪篇博文 C BigTable 2 下面对HBase的描述哪些是正确的 B C D B 是面向列的 C 是分布式的 D 是一种NoSQL数据库 3 HBase依靠 存储底层数据 A A HDFS B Hadoop C M
  • SAR目标检测数据集汇总

    SAR目标检测数据集汇总 文章目录 SAR目标检测数据集汇总 1 MSTAR 1996 2 OpenSARShip2 0 2017 3 SSDD SSDD 2020 4 AIR SARShip2 0 2019 5 SAR Ship Data
  • VScode调试php文件(详细且简单易操作)

    之前也不懂 看了网上好多帖子 按照它们步骤操作一遍之后 还是不行 头都大了 现在懂了 原来几步就搞定了 被它们搞得这么复杂 又是配置这个文件 又是配置那个文件 1 下载XAMPP Download XAMPP apachefriends o
  • Java程序员面试常问试题大全

    Java程序员面试常问试题大全 1 面向对象的特征有哪些方面 1 抽象 抽象就是忽略一个主题中与当前目标无关的那些方面 以便更充分地注意与当前目标有关的方面 抽象并不打算了解全部问题 而只是选择其中的一部分 暂时不用部分细节 抽象包括两个方
  • 详解 cryptogen 的内容和配置

    目录 1 cryptogen 模块命令说明 2 cryptogen 模块的配置文件 3 cryptogen 实例 创建测试配置文件 4 Fabric 证书文件的结构 cryptogen 模块主要用来生成组织结构和账号相关的文件 任何 Fab
  • 【react】实现数据双向绑定之不用柯里化的方式

    直接给onChange事件绑定一个箭头函数 这个箭头函数的参数就是event 在箭头函数内再调用saveFormData方法 saveFormData方法里面this setState dataType value
  • 学Python该看什么书?12本精华好书推荐!

    为了让更多想通过看书来学习Python的人能够把时间花在刀刃上 小编总结了Python目前所有热门方向上我个人觉得性价比很高 值得一看的书籍 今天小编来分享给大家 一 Python新手入门 新手学Python的话我推荐这本 Python编程
  • java:面向对象(多态中成员的特点)。

    这次我们说说多态中成员的特点 我们写这样一个代码 class Fu void method1 System out println fu method1 void method2 System out println fu method 2
  • 秒解小米bl锁 无需等待时间_小米全新系统曝光:小米9推送Android Q体验版

    点击上方蓝字订阅每日最新国产手机资讯 对于米粉来说 MIUI系统是他们坚持使用小米手机的重要原因 就在今天上午 MIUI官方微博发布消息 小米9的MIUI Android Q Beta优先体验版现已推送 已获得测试资格的朋友可以升级体验 据
  • 大厂笔试真题

    1 复数相乘 2 K个一组翻转链表 include