首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
2005年11月金山笔试题。编码完成下面的处理函数。函数将字符串中的字符’*’移到串的前部分,前面的非’*’字符后移,但不能改变非’*’字符的先后顺序,函数返回串中字符’*’的数量。如原始串为:ab**cd**e*12,处理后为*****abcde12,函
2005年11月金山笔试题。编码完成下面的处理函数。函数将字符串中的字符’*’移到串的前部分,前面的非’*’字符后移,但不能改变非’*’字符的先后顺序,函数返回串中字符’*’的数量。如原始串为:ab**cd**e*12,处理后为*****abcde12,函
admin
2019-03-29
125
问题
2005年11月金山笔试题。编码完成下面的处理函数。函数将字符串中的字符’*’移到串的前部分,前面的非’*’字符后移,但不能改变非’*’字符的先后顺序,函数返回串中字符’*’的数量。如原始串为:ab**cd**e*12,处理后为*****abcde12,函数并返回值为5。(要求使用尽量少的时间和辅助空间)
选项
答案
int change(char *str) /* 这个算法并不高效,从后向前搜索效率要高些 */ { int count = 0; /* 记录串中字符’*’的个数 */ for(int i=0, j=0; str[i]; i++) /* 重串首开始遍历 */ { if(str[i]==’*’){ /* 遇到字符’*’ */ for(j=i-1; str[j]!=’*’&&j>=0; j--) /* 采用类似插入排序的思想,将*前面 */ str[j+1]=str[j]; /* 的非*字符逐个后移,直到遇到*字符 */ str[j+1] = ’*’; count++; } } return count; } int main(int argc, char* argv[]) { char str[] = "ab**cd**e*12"; printf("str1=%s\n", str); printf("str2=%s, count=%d", str, change(str)); return getchar(); } // 终于得到一个比较高效的算法,一个网友提供,应该和金山面试官的想法一致。算法如下: int change(char *str) { int i,j=strlen(str)-1; for(i=j; j>=0; j--) { if(str[i]!=’*’){ i--; }else if(str[j]!=’*’){ str[i] = str[j]; str[j] = ’*’; i--; } } return i+1; }
解析
转载请注明原文地址:https://kaotiyun.com/show/cxmZ777K
0
程序员面试
相关试题推荐
Publicationbiasinacademicjournalsisnothingnew.Afindingofnocorrelationbetweensportingeventsandeitherviolentcri
Signslike"Pleaseratemefivestars"pointtoagrowingproblemwithbusinessesintheon-demandeconomyofapp-basedservices
[A]TherelativelylowtuitionfeesinAsiaarealsoamaindrawforprospectivestudents.Lastyear,onlinehighereducationre
Weakdollarorno,$46,000—thepriceforasingleyearofundergraduateinstructionamidtheredbrickofHarvardYard—is【C1】__
输入n个整数,输出其中最小的k个。例如输入1,2,3,4,5,6,7和8这8个数字,则最小的4个数字为1,2,3和4。
整理收藏夹重新命名“新闻”子文件夹为“我的新闻”。
保存当前浏览的www.sina.com的网页到“D:\网页保存”文件夹,保存名称是新浪网页文字版,保存类型是txt。
在Word中把一个已经打开的文件以新的名字存盘,起备份旧文件的作用,应选()命令。A.自动保存B.保存C.另存为D.全部保存
以下哪个会引起最严重的道德问题?
在ISOOSI/RM基础上的公共管理信息服务/公共管理信息协议(CMIS/CMIP)是一个完整的网络管理协议簇,网络管理应用进程使用OSI参考模型的(12)。
随机试题
A.透疹B.利咽C.两者均是D.两者均非蝉蜕具有的功效是()
男性,31岁,尿频、尿急、尿痛1年余,有时尿浑浊,服用多种抗生素治疗无效。尿液检查:脓球满视野,蛋白(++)。具有诊断价值的辅助检查为
禁用于外周血管痉挛性疾病的药物是
小青龙胶囊,药物组成有麻黄、桂枝、干姜、细辛、五味子、白芍、法半夏、炙甘草。功能是解表化止咳平喘。主治风寒水饮,恶寒发热、无汗、咳喘痰稀。方中细辛在《中国药典》中的质量控制成分是()。
某工程项目采用公开招标的采购方式,有A、B、C、D、E、F六家施工单位领取了招标文件。本工程招标文件规定:2016年10月20日上午9:30为投标文件提交的截止时间。在提交投标文件的同时,投标单位需要提供投标保证金20万元。A、B、C、D、F五家投标单位于
假如已到下班时间,你与朋友已有约会,而这时秘书又告诉你有一件紧急公务,需要你处理,你将怎么办?
A、 B、 C、 D、 A
Manufacturershavelearnedthatconsumersplaceahighvalue(150)convenienceanddisposability.Today,manyproducts—suchas
Starbirth,whichtransformedprimordialgasintothecountlessstarrygalaxiesofthepresentdayuniverse,surgedtohighleve
Astudyofthephysicalactivityhabitsof4,563adultsfoundthatthosewhosaidtheydidthemosthouseworkwerealsothelarg
最新回复
(
0
)