华为机试 - 字符串去重复字节/字符串去连续重复字节

华为2019校招笔试题之处理字符串(python版) 华为2019在线笔试题,现整理如下,以供之后参考 GitHub 题目介绍 ################################################################# ################################################################# ''' 题目描述: -- 对输入字符串检查是否存在非法字符,输出合法字符串(去重)和非法字符串(不去重) -- 对合法字符串循环左移10次,在进行排序输出。(举例:比如字符串"abc",循环左移一次的结果为"bca") 输入描述: (1) 字符串中的字符集合为 立即下载

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉。

比如字符串“abacacde”过滤结果为“abcde”。

要求实现函数:

void stringFilter(const char *pInputStr,long lInputLen, char *pOutputStr);

【输入】 pInputStr:输入字符串

lInputLen: 输入字符串长度

【输出】 pOutputStr:输出字符串,空间已经开辟好,与输入字符串等长;

#include <iostream>
#include <climits>
#include <algorithm>
using namespace std;

void stringFilter(const char *pInputStr, long lInputLen, char *pOutputStr)
{
	int count[256]={0};
	size_t index=0;
	for(int i=0;i<lInputLen;i++)
	{
		if (count[pInputStr[i]]==0)
		{
			count[pInputStr[i]]=1;
			pOutputStr[index++]=pInputStr[i];
		}
	}
}
int main()
{
	long inputLen;
	cin>>inputLen;
	char *str=new char[inputLen]();
	char *strOut=new char[inputLen]();
	for(int i=0;i<inputLen;i++)
		cin>>str[i];
	stringFilter(str,inputLen,strOut);
	cout<<strOut<<endl;
	system("pause");
	return 0;
}

通过键盘输入一串小写字母(a~z)组成的字符串。请编写一个字符串压缩程序,将字符串中连续出席的重复字母进行压缩,并输出压缩后的字符串。

压缩规则:

1. 仅压缩连续重复出现的字符。比如字符串"abcbc"由于无连续重复字符,压缩后的字符串还是"abcbc".

2. 压缩字段的格式为"字符重复的次数+字符"。例如:字符串"xxxyyyyyyz"压缩后就成为"3x6yz"

 

要求实现函数:

void stringZip(const char*pInputStr, long lInputLen, char *pOutputStr);

 

【输入】 pInputStr: 输入字符串

lInputLen: 输入字符串长度

【输出】 pOutputStr: 输出字符串,空间已经开辟好,与输入字符串等长;

#include <iostream>
#include <climits>
#include <algorithm>
using namespace std;

void stringZip(const char *pInputStr, long lInputLen, char *pOutputStr)
{
	if(pInputStr==NULL||lInputLen==0) return;
	size_t index=0;
	char prev=pInputStr[0];
	int count=1;
	for(int i=1;i<lInputLen;i++)
	{
		if (prev!=pInputStr[i])
		{
			if(count!=1)
				pOutputStr[index++]=count+'0';
			pOutputStr[index++]=prev;
			prev=pInputStr[i];
			count=1;
		}
		else
		{
			count++;
		}
	}
	if(count!=1)
		pOutputStr[index++]=count+'0';
	pOutputStr[index]=prev;
}
int main()
{
	long inputLen;
	cin>>inputLen;
	char *str=new char[inputLen]();
	char *strOut=new char[inputLen]();
	for(int i=0;i<inputLen;i++)
		cin>>str[i];
	stringZip(str,inputLen,strOut);
	cout<<strOut<<endl;
	system("pause");
	return 0;
}


jquery实现去除重复字符串的方法小结 主要介绍了jquery实现去除重复字符串的方法,结合实例形式总结了三种常用的字符串去重操作技巧,需要的朋友可以参考下 立即下载

相关推荐

Uibot RPA中级认证实战:手把手教你用流程创造者搞定客户数据迁移(附验证码容错技巧)

本文详细介绍了Uibot RPA中级认证实战中的客户数据迁移工程化解决方案,特别针对验证码容错技巧和动态表格处理等核心挑战。通过环境准备、登录模块设计、数据提取技术及容错体系的系统讲解,帮助RPA实施工程师掌握高效稳定的自动化流程开发方法,提升企业数据迁移效率。

weixin_30505225的博客 229

删去字符串中连续重复字符

码图_删去字符串中连续重复字符

astruggle___的博客 2107

基于微信小程序的扫码签到系统源码

大等于jdk1.8,大于mysql5.5,idea(eclipse),微信开发者工具。代码注释齐全,没有多余代码,适合学习(毕设),二次开发,包含论文技术相关文档。签到管理:新增签到,点击查看码展示二维码(有时效性)springboot mybatis 小程序。签到管理:查看用户创建的签到,可删除。用户管理:查看注册用户信息,及删除。签到记录:查看用户签到记录:可删除。个人信息:展示个人信息,可修改。统计分析:查看用户,签到数量。签到记录:查看用户签到记录。登录注册(含授权登录)我的签到:查看签到记录。

wfuhui的博客 5224

字符串去除重复的三种方法

方法三:借助对象的键唯一性,把每个字符串追加到对象中因为对象的键唯一所以里面都是不重复的。方法二:利用indexOf判断字符串是否存在,如果不存在就添加到新字符串中。方法一:利用双层遍历做判断是否重复,如果重复就删除重复的。

qq_36378250的博客 1万+

计算机三级考试嵌入式系统重点精简汇总

第一章 嵌入式系统概论 1.1.1嵌入式系统 (1)特点:(1)专用性;(2)隐蔽性;(3)资源受限;(4)高可靠性;(5)实时性;(6)软件固化。 (2)应用:(1)冰箱、洗衣机、电饭煲、空调、摄影机、DVD播放器等;(2)数控机床、飞机、汽车、电梯、X光机、血压计等;(3)电话机、传真机、打印机、pos机、GPS导航仪、路由器等。 1.1.2嵌入式系统组成与分类 (1)逻辑组成:硬件和软件,分为处理器、存储器、I|0设备与I|O接口,数据总线; (2)处理器:分为主处理器(CPU)和协处

chemkrik的博客 1万+

视频教程-SAP S4 HANA FICO COPA 获利能力分析-ERP

SAP S4 HANA FICO COPA 获利能力分析 从业超过8年的SA...

weixin_33456805的博客 1442

华为机试—字符串去重排序

输入一个字符串,去掉重复出现的字符,并把剩余的字符串排序输出。 #include #include using namespace std; int main(int argc, char *argv[]) { string s; while(cin>>s) { for(int i=0;i<s.size();++i) for(i

芝兰生于深谷,不以无人而不芳 1993

基于FastLIO2与TEB算法的机器狗自主导航系统实战

本文详细介绍了如何为机器狗构建一套基于FastLIO2与TEB算法的自主导航系统。通过整合FastLIO2激光惯性里程计实现精准定位,并采用TEB局部规划器进行灵活路径规划与动态避障,解决了传统方案在复杂地形下反应慢、易碰撞的问题。文章提供了从环境搭建、算法部署、地图转换到系统调试的完整实战指南,帮助开发者实现机器狗的稳健自主行走。

beer8的博客 321

[华为机试练习题]15.删除重复字符/删除重复字符串

题目 题目标题: 删除重复字符 给定一个字符串,将字符串中所有和前面重复多余的字符删除,其余字符保留,输出处理后的字符串。需要保证字符出现的先后顺序,并且区分大小写。 详细描述: 接口说明 原型: int GetResult(const char *input, char *output) 输入参数: input 输入的字符串 输出参数(需考虑指针指向的内存区域是否有效)...

SmartSi 638

YOLO26涨点改进 |独家创新,小目标涨点改进篇 | Arxiv 2025 | MHAF‑YOLO,引入RepHMS高效特征提取模块,适合轻量级目标检测、小目标检测、图像分类、旋转目标检测、实例分割

本文提出了一种改进的YOLO26目标检测模型,通过引入RepHMS模块和多分支辅助特征金字塔结构(MAFPN),显著提升了模型性能。RepHMS模块采用多分支异构卷积和重参数化策略,在不增加推理开销的情况下增强多尺度特征提取能力,尤其提升了小目标检测效果。实验表明,改进后的MHAF-YOLO模型在COCO数据集上仅用7.1M参数就达到48.9% AP,相比YOLO11-s参数量减少24.4%而性能提升1.9%。文章详细介绍了RepHMS模块的原理、实现代码及在YOLO26中的集成方法,并提供了两种改进配置。

Ai缝合怪、助力小伙伴高效发论文 199

RK平台以太网设置中添加代理设置

以太网中配置Configuration的时候可以IpConfiguration的初始化函数来设置代理类型和代理参数。通过添加一个KEY_ETH_PROXY的选项来设置代理的配置,然后再设置以太网静态或者动态的类型时候下发给系统进行设置。

Android系统开发笔记 657

起立!这份Redis笔记面试官看了高呼空前绝后!,springboot组件面试题

在这个部分总结了2019年到目前为止Java常见面试问题,取其面试核心编写成这份文档笔记,从中分析面试官的心理,摸清面试官的“套路”,可以说搞定90%以上的Java中高级面试没一点难度。本节总结的内容涵盖了:消息队列、Redis缓存、分库分表、读写分离、设计高并发系统、分布式系统、高可用系统、SpringCloud微服务架构等一系列互联网主流高级技术的知识点。(上述只是一个整体目录大纲,每个点里面都有如下所示的详细内容,从面试问题——分析面试官心理——剖析面试题——完美解答的一个过程)

2401_84446712的博客 422

华为OD技术面八股文_C++_01

汇总华为OD技术面C++方向八股文真题,并提供详细解答。

qq_45776114的博客 1887

写一个函数,去掉一个字符串中重复的字符,比如将”google”转成”gole”(华为公司)

https://blog.youkuaiyun.com/vincent040/article/details/6902631 最近在刷面试题,做到标题的题目,一时半会儿写不出来,翻看参考答案见如上链接。其中, /*locate the first redundant item and the first common item after it. */ 这一部分的代码,至今没有理解透彻。希望有朋友知道的可以在...

AuvKaixin的博客 2518

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

去掉字符串中重复的字符 --- 华为笔试题

题目如题所示,将 “google” 弄成“gole” 解决代码如下: // strip.c #include #include #define REDUNDANT -1 void strip(char *str) { if(str == NULL) return; int i, j; char *p = str; // mark a

林世霖的技术博客 8144

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

华为2016研发工程师编程题_字符串去重

题目 思路 HashSet import java.util.HashSet; import java.util.Scanner; import java.util.Set; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); ...

baihehaitangyijiu的博客 247

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

字符串或者字符串数组或者List去除重复字段

purchaserNames = dto.getDefaultPurchaserNames().concat(",").concat(dto.getSetPurchaserNames()); String[] purchaserNamesArray = purchaserNames.split(","); List list = Arrays.asList(purchaserNamesArray); Set purchaserNamesSet = new HashSet(list).

damoneric_guo的博客 293

字符串去重复的几种方法

// 字符串去重复 var str = 'assssdfasddddfaaaasdf' //1.将字符串转成数组去重后,再将所有元素拼接成字符串 // 将字符串转成数组 var arr = str.split('') console.log(arr); // 数组去重 for(var i=0;i<arr.length-1;i++){ for(var j=i+1;j<arr.length;j++){ if(arr[i] === arr[j]){ a.

HAI6545的博客 1万+

string去除重复字符两个方法

string去除重复字符两个方法 网上有很多伪方法,只删除了相邻重复字符串,大家警惕! 主要使用list.contains()检测重复。 一直在想本来应该怎样做,因为面试官说了句只用了一层循环,可能这样是比较通用的: 1、charAt遍历String每个字符(第一层循环) 2、charAt遍历StringBuffer每个字符,...

SeanSunnn 2万+

算法 - 小试1 - 去除字符串重复字符

目录 需求描述1 - 去除字符串中相邻重复的字符。 需求描述2 - 去除字符串中所有重复的字符(只保留第一个重复的字符) 需求描述3 - 删除字符串中所有相邻的重复串 需求描述1 - 去除字符串中相邻重复的字符。 代码: public void initJava(){ String str="aabbbccccdddddeeeeeeeeefff234tttdddfffbbbggg"; String result=removeRepeatChar(str); Log

JHDHCBJka的博客 468

关于去除字符串中连续重复字符的两种方法

去除字符串中连续重复字符的两种方法 一、使用正则表达式 quChong("111222333555"); function quChong(str){ let arr=[]; let obj=str.match(/(\d)\1*/g);//这里以数字为例 for(let i=0;i<obj.lengh;i++){ let newArr=obj[i].split(""); arr.push(...

qq_41789548的博客 4270

[转]去掉字符串中重复的字符 --- 华为笔试题

转载:http://blog.youkuaiyun.com/vincent040/article/details/6902631 题目如题所示,将 “google” 弄成“gole” 后来自己修改了下部分代码,代码如下: /* 将 “google” 弄成“gole” */ #include #include #define REDUNDANT -1 void strip

CoCo的专栏 2566

java list 字段去重复_java去除List(字符串数组)中的重复值

去除List中的重复值已经从某处引用或者获得了List类型的值,需要去除重复方法一:效率高List listShare = new LinkedList();listShare.add("aa");listShare.add("bb");listShare.add("bb");listShare.add("aa");listShare.add("cc");ArrayList newst= new ...

weixin_32392867的博客 520

华为机试 - 火星计算器

火星计算器:    火星人使用运算符:@ # $ &    优先级为:@ > # > $ > &        X@Y = (X+1)*(Y+2)    X#Y = (2X+3)*(3Y+4)    X$Y = (3X+11)*(2Y+7)    X&Y = (5X+20)*(4Y+1)        X#Y@Z = X#(Y@Z)        编写火星计算器程序,计算火星

小熊糖否——木子兮的自留地 4769
上一篇: 华为机试 - 最小最大数之和
下一篇: 华为机试 - 计算字符串表达的运算
JerkWisdom
博客等级 码龄14年 70粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值