首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
2005年11月金山笔试题。编码完成下面的处理函数。函数将字符串中的字符’*’移到串的前部分,前面的非’*’字符后移,但不能改变非’*’字符的先后顺序,函数返回串中字符’*’的数量。如原始串为:ab**cd**e*12,处理后为*****abcde12,函
2005年11月金山笔试题。编码完成下面的处理函数。函数将字符串中的字符’*’移到串的前部分,前面的非’*’字符后移,但不能改变非’*’字符的先后顺序,函数返回串中字符’*’的数量。如原始串为:ab**cd**e*12,处理后为*****abcde12,函
admin
2019-03-29
64
问题
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://jikaoti.com/ti/Qag7FFFM
0
程序员面试
相关试题推荐
SupposeLiMing’sapplicationforadmissiontoWashingtonUniversityhasbeenaccepted.Writehimaletterto1)offerhima
ReinventingtheTableAnearthscientisthasrejiggedtheperiodictabletomakechemistrysimplertoteachtostudents.
输入一个整形数组,数组里有正数也有负数。数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。求所有子数组的和的最大值。要求时间复杂度为O(n)。例如输入的数组为1,-2,3,10,-4,7,2,-5,和最大的子数组为3,10,
.什么是code-behind技术
类CMyString的声明如下:classCMyString{public:CMyString(char*pData=NULL);CMyString(constCMyString&str);~CMyString(void);
整理收藏夹重新命名“新闻”子文件夹为“我的新闻”。
在用户管理组administrators中添加本地用户“sy”。
从当前界面上的菜单或“网络任务”开始创建拨号连接,通过Modem连接到In-ternet,拨号时先拨0,再拨16300,用户名和密码均为16300,将创建的连接的名称命名为:linkl,然后在桌面上创建一个到此连接的快捷方式。除此之外,其余选项均使用默认设
打开“记事本”应用程序。
在ISOOSI/RM基础上的公共管理信息服务/公共管理信息协议(CMIS/CMIP)是一个完整的网络管理协议簇,网络管理应用进程使用OSI参考模型的(12)。
随机试题
患者,男,30岁。左下第二前磨牙缺失,固定桥修复1年后脱落。检查:近中倾斜,近中邻牙合面洞继发龋坏,叩(±),预备体完好。X线片:根充完善,正常。旧固定桥修复体为全冠和邻牙合嵌体如果近中倾斜度大,固定桥应设计为
环境影响评价的适用标准主要包括()。
某省属重点水利工程项目计划于2004年12月28日开工,由于坝肩施工标段工程复杂,技术难度高,一般施工队伍难以胜任,业主自行决定采取邀请招标方式。于2004年9月8日向通过资格预审的A、B、C、D、E五家施工承包企业发出了投标邀请书。该五家企业均接受了邀请
人民法院可以根据情况对不同的证据采用不同的保全方法,下列行为不是证据保全方法的是( )。
根据净资本流出函数,如果中国的利率水平高于美国的利率水平,则资本( )。
中国近代制度化教育兴起的标志是()。
简述学校教育产生的条件是什么?
债权人撤销权的除斥期间是()
设y1,y2是一阶线性非齐次微分方程y.+p(x)y=q(x)的两个特解,若常数λ,μ使λy1+μy2是该方程的解,λy1-μy2是该方程对应的齐次方程的解,则
Whenimaginativementurntheireyestowardsspaceandwonderwhetherlifeexistsinanypartofit,theymaycheerthemselvesb
最新回复
(
0
)