(科大讯飞)删除字符串中的连续空格(只保留一个),O(n)时间复杂度,O(1)空间复杂度

编程小白的自学笔记四(正则表达式模块search函数) 本文仅仅简单介绍了search的使用,供小白学习探讨。 阅读详情

        昨天(2012/10/23)晚上,南大,科大讯飞宣讲加笔试,题目很基础,也很简单,可是。。。没认真弄。挂了,回来痛定思痛,今天南邮打算再去跑一趟。

       另一个哥们由于没有使用内层循环(潜意识告诉他,那样会增加复杂度,其实不会),使用了四个分支判断,而我当时考虑的实现的需要,用了最笨的方法,涉及大量的元素移动(太烂了,居然当时出来还沾沾自喜,真是丢人)。

       这里参考了《算法导论》中快速排序的划分函数的写法,设置两个指针,一个用于遍历,一个用于结果的拷贝。另外也参考了网上百度知道的一些朋友的类似事例程序。

//trim a string by make  more than one blank to one blank
char* trim(char* a)
{
	int i=-1,j=0;
	for (;a[j]!='\0';j++)
	{
		if (a[j]==a[j+1] && a[j+1]==' ')
		{
			//skip more than one blank
			while (a[j]==' ')
			{
				++j;
			}
			--j;// go back to the last blank
		}
		a[++i]=a[j];
	}
	a[++i]='\0';
	return a;
}
int main( void ) 
{
 
	char a[100]="a b  c  d  e                  f";
	print(a);
	print(trim(a));
	return 0;
}


 

深入解析TI C2000 ePWM模块:峰值电流模式Buck与LLC谐振变换器实战配置 脉宽调制(PWM)技术是电力电子与数字电源控制的核心,它通过调节开关信号的占空比或频率,实现对功率变换器输出电压、电流的精确控制。其基本原理是利用微控制器内部的定时器和比较器,生成具有特定时序的方波信号,驱动功率开关器件。这项技术的核心价值在于将复杂的模拟控制环路数字化,从而提升系统的可控性、灵活性和可靠性。在电机驱动、不间断电源(UPS)、服务器电源和新能源逆变器等广泛应用场景中,PWM技术都是实现高效能量转换的基石。本文聚焦于德州仪器(TI)C2000系列微控制器中功能强大的增强型PWM(ePWM)模块 阅读详情

相关推荐

智能车赛道识别:八邻域算法的实战解析与优化

本文深入解析了智能车赛道识别中八邻域算法的核心原理与实战优化。作为兼顾性能与稳定性的经典方案,该算法通过模拟探险家环顾八方的策略,能精准追踪弯道与直道边界。文章详细拆解了代码逻辑,并提供了边界平滑、异常处理及应对十字路口、环岛等复杂场景的关键优化策略,助力开发者提升智能车视觉系统的鲁棒性与实时性。

weixin_29228781的博客 262

字符串对于连续的空格只保留一个类型问题

字符串删除连续空格,只保留一个 #include <iostream> #include <string> using namespace std; int main(){ string str1; char str2[100]; cout << "请输入一个字符串:"; getline(cin, str1);//如果输入有空格的字符串,用getline in

qq_36813793的博客 1666

使用MLP解决OCR问题(OpenCV)(下)

分类模型:        分类模型涉及的一个比较关键的问题就是输出的10维向量是如何与具体的类别挂钩的。实际上:10维向量的每一位都代表一类,在对于训练集的表达中,如果输入数据是0,则10维向量的第一位赋值为1,其余均为0。即0对应[1,0,0,0,0,0,0,0,0,0]。MLP模型训练完成后,就需要对用户输入的数据所属类别进行判定。这时得到的输出数据基本不可能是正好的所属类为1,其他位置为0

qq_18515405的专栏 1907

将字符串中连续的相同字符仅保留1个

编写函数,将字符串中连续的相同字符(包括空格)仅保留1个 输入样例: a bb cccd d ef 输出样例: a b cd d ef 代码如下: #include <stdio.h> #include <stdlib.h> void delete_(char a[]) { char *p,*q; p = a; q = a + 1; int i = 0; while(*p != '\0') { i.

yun_oyun的博客 2782

医学图像配准实战:用Python实现MIND特征提取(附完整代码)

本文详细介绍了MIND(模态无关邻域描述符)在医学图像配准中的应用。通过Python和PyTorch实战,从原理到代码逐步解析了如何提取MIND特征,并利用其对结构而非灰度的感知能力,有效解决CT、MRI等多模态图像的对齐难题,为病灶追踪、手术导航等高级应用提供鲁棒性基础。

263

从仿真到实践:两级直接耦合放大电路的静态工作点协同调试指南

本文详细解析了两级直接耦合放大电路的静态工作点协同调试方法,从仿真到实践提供系统指南。重点介绍了Rc2电阻调整技巧、集电极电位测量方法及常见问题排查,帮助工程师解决各级静态工作点相互影响的难题,提升模拟电路设计效率。

weixin_29189373的博客 124

去掉字符串连续多个空格的方法

问题:如何去掉字符串中多个连续的空格? 解决:方法有很多种,但是在利用split方法去掉字符串中连续多个空格时,分割出的数组会产生多个空元素,导致分割后的数组随空格数的变化而变化,分割后的字符串元素不再是下标为0和1的元素。这是因为在多个空格之间的“元素”也被认为是空元素,而实际上这些元素是不存在的,所以可以利用如下方法去掉多余的空元素,得到正确的分割后的字符串数组。 stat

天意的专栏 2512

分布式优化 (Distributed Optimization) 算法详解及案例分析

分布式优化是一种将优化问题分解为多个子问题并在多个计算节点上并行求解的方法。其目标是通过分布式计算资源高效地求解大规模优化问题。

闲人编程的博客 2712

删除一个字符串中连续的空格

// 删除一个字符串中连续的空格.cpp : 定义控制台应用程序的入口点。 // //问题描述:给定一个字符串,如果字符串中存在连续多个空格则用一个空格代替. //例如:输入:ab--cd-ef---g 输出:ab-cd-ef-g,为了方便,用-代替空格 //解决问题:写两个循环...第一个循环读到空格就使用第二个循环判断连续空格的数量.. //在第二个循环中一旦一个字符不是空格,就跳出本循环

tiandan_dan的专栏 1087

【1.2】Costas环的基本原理概述

Costas环是一种用于载波恢复的相干解调技术,可直接从BPSK等抑制载波信号中恢复本地载波并完成解调。其核心结构包含同相/正交双支路处理,通过混频、低通滤波后,利用I/Q支路信号乘积进行相位误差检测,经环路滤波器调节VCO输出频率,实现载波同步。课程将重点讲解Costas环的MATLAB仿真实现、系统性能分析及FPGA开发,包括信号产生、频偏模拟、滤波器设计等模块,并通过AWGN信道和不同频偏条件下的测试验证系统性能。该技术无需单独提取载波,在数字通信系统中具有重要应用价值。

fpga/matlab/simulink算法仿真工程 452

2025年下半年网络工程师案例分析真题及答案解析

2025年下半年网络工程师案例分析真题及答案解析

鹿鸣天涯 1093

android 键盘语音输入,讯飞输入法Android V7.0.4265 长按空格键开启语音输入

文字输入麻烦自己,语音消息麻烦对方,麻烦自己还是别人真是一大矛盾。别纠结了,现在你用语音输入即能化解矛盾,语音直讲方便自己,文字消息方便对方。使用语音输入替代一个个敲击按键输入显然可以更加愉快的聊天,堪称懒癌福音呢!一直以来,讯飞输入法代表了全行业最领先的语音技术,它免去了传统文字输入的繁琐过程,轻松把语音转文字,深受大家的喜爱。日前,讯飞输入法在Android V7.0.4265版本中,保留输入...

weixin_39669982的博客 1875

提示词驱动的多智能体协作系统

《提示词驱动的多智能体协作系统》 关键词:人工智能、多智能体系统、协作机制、提示词驱动、系统设计与应用 摘要:本文深入探讨提示词驱动的多智能体协作系统,首先介绍其背景和核心概念,然后详细分析多智能体系统的基本原理和提示词驱动的协作机制,最

AI天才研究院 851

将字符串中的所有空格去掉,要求时间复杂度O(N)

//题目:将字符串中的所有空格去掉,要求时间复杂度O(N) //空间复杂度O(1) //感想:最开始我以为这个题目很简单,但面试的时候由于紧张,没有写得特别优化,所以被小米给刷了,贼伤心的 //条件的控制很重要,我当时就是因为紧张,条件没有控制好,现在想想真是很尴尬, //面试出来后我都有一种想法我他妈就不适合当程序员 #include using namespace std; #include

zhou753099943的专栏 3034

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

怀旧版电脑GBC模拟器

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

【面试题】将字符串中的所有空格去掉,要求时间复杂度O(n),空间复杂度O(1)

//题目:将字符串中的所有空格去掉,要求时间复杂度O(n),空间复杂度O(1) #include &lt;iostream&gt; #include &lt;string.h&gt; #include &lt;assert.h&gt; using namespace std; int delSpace(char *pStr) {     assert(pStr);     char *...

fzzjoy的专栏 2588

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

37-将字符串中连续的空格删除,只保留一个空格(算法)

#include <stdio.h> #include <assert.h> #include <string.h> #include <stdlib.h> /* 字符串替换:多换一,一换一,一换多 */ //将字符串中连续的空格删除,只保留一个空格.例如"a b c d"->"a b c d" //算法1:如果是连续空格,则删除后一个空格(将后面所有字符往前移),O(n^2),O(1) void DelBlank1(char *str)/

LINZEYU666的博客 2821

删除字符串中的连续空格(只保留一个),O(n)时间复杂度,O(1)空间复杂度

[cpp] view plaincopy //trim a string by make  more than one blank to one blank   char* trim(char* a)   {       int i=-1,j=0;       for (;a[j]!='\0';j++)       {           if (a[j]

zhangmuyan的专栏 746

程序员面试题精选100题(36)-在字符串中删除特定的字符

<span lang=ZH-CNstyle=FONT-FAMILY: SimSun; mso-ascii-font-family: Calibri; mso-ascii-theme-font: minor-latin; mso-fareast-font-family: SimSun; mso-fareast-theme-font: minor-fareast; mso-h

数码 电脑硬件 编程 以及IT界一些好玩的事情 1366

字符串面试题(三)— 把一个字符串的大写字母放到字符串的后面

把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,不能申请额外的空间

HuangQinJian 3377

需要实现对一个字符串的处理,首先将该字符串首尾的空格去掉,如果字符串中间还有连续空格的话,仅保留一个空格,即允许字符串中间有多个空格,但连续的空格数不可超过一个

例如:string inputStr=” xx xx “; inputStr=inputStr.Trim(); inputStr=Regex.Replace(inputStr.Trim(),” {2,}”,” “); 注:Replace的第二个参数的”{2,}”前有一个空格,第三个参数是一个空格,表示,出现了2个或多个空格时将其替换成1个空格

ITX2000的专栏 2926

删除一个字符串中连续超过一次的空格

问题 删除一个字符串中连续超过一次的空格。 解决(Python) #! /usr/bin/env python #coding:utf-8 def del_space(string): split_string = string.split(" ") #以空格为分割,生成list,list中如果含有空格,则该空格是连续空格中的后一个 string_list =

计算机科学、人工智能、数据分析和大数据方向的研发和教学。 530

去掉字符的首部和尾部字符串的空格以及去掉中间连续的空格为一个空格

String souuceString="  i   love    meituan    "; String desStr; 1 Java 1.1 去掉首部和尾部的空格: desStr=souuceString.trim();  desStr=souuceString.replaceAll("^ +| +$","");//去掉首部和尾部 1.2 去掉中间的连续空格为一个空格

zyzn1425077119的博客 3540

数据结构算法题/字符串按照单词翻转要求空间复杂度O(1)

/** * 先直接逆序,这样确保最后那个单词在前面了,只不过此时单词是逆序的 * 然后再对每个逆序的单词进行调整 */ public class StringWordReverse { public String wordReverse(String str){ //在逆序之后的string之后补一个空格,为了统一处理方便 String temp =...

fkyyly的专栏 1048

【美团校招笔试题】去除字符串首尾空格,中间多个空格只保留一个

要求: 这是本人参加美团校招在线考试笔试题,如果此行为违反了美团校招笔试题商业保密性,请与本人联系。 思路:用一个while循环扫描整个字符串,用pStart字符指针指向整个字符串首地址,如果遇到首部空格,则pStart+1,即让pStart始终指向整个字符串的首个非空格字符,用字符指针pIndex指向当前处理的字符,若*pIndex==' '&&*(pInde...

weixin_34354173的博客 365
上一篇: 递归算法(求n的加法组合,将一个整数拆分成多个整数相加的形式, O(N)时间,O(N)空间)4.0版
下一篇: (科大讯飞)实现一个类:不能被继承,而且最多只能有三个实例
C++程序员Carea
博客等级 码龄18年 1590粉丝 878原创
评论 8
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

C++程序员Carea

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值