`
sakakokiya
  • 浏览: 515991 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

2005年11月金山笔试题

阅读更多
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));
}
// 终于得到一个比较高效的算法,一个网友提供,估计应该和金山面试官的想法一致。算法如下:
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;
}
分享到:
评论

相关推荐

    金山笔试金山笔试题目很准确。金山笔试题。

    4. **逻辑思维与问题解决**:金山笔试会包含一些逻辑推理题,要求考生在有限时间内找出最优解。这可能涉及到数学逻辑、条件判断、递推关系等问题,锻炼抽象思维和逻辑分析能力。 5. **软件工程知识**:了解软件开发...

    金山网上笔试题

    金山网上笔试题,6月分,珠海金山的网上笔试题,都是些算法的

    金山笔试题(Java方向)

    【标题】:“金山笔试题(Java方向)”指的是金山公司在2012年针对校园招聘进行的Java编程技能测试题目。这些题目旨在考察应聘者对于Java编程语言的基础知识、编程能力以及解决实际问题的能力。 【描述】:“金山...

    金山软件·西山居游戏 笔试试题

    金山软件·西山居游戏 笔试试题

    金山2010校园招聘技术类Java笔试题

    【标题】"金山2010校园招聘技术类Java笔试题"揭示了这是一份针对2010年金山公司校园招聘技术岗位的Java编程能力测试题目。金山是一家知名的中国软件公司,其招聘过程通常会涉及到对技术人才的深度评估,尤其是对于...

    金山2011年校园招聘C++笔试题

    【金山2011年校园招聘C++笔试题】是一场针对应届毕业生的招聘活动,由知名软件企业金山公司组织,旨在寻找具有优秀C++编程技能的潜在人才。这次笔试对于那些热衷于C++编程并希望在IT行业内,尤其是金山这样的专业...

    金山软件2011年C++工程师笔试试题

    【金山软件2011年C++工程师笔试试题】涉及到多个C++核心概念和技术,包括: 1. **虚析构函数**:在C++中,虚析构函数用于处理多态性,确保基类指针可以正确地销毁派生类对象。当基类指针指向派生类对象时,如果基类...

    金山2010年9月校园招聘WPS服务端(C++)笔试题

    金山2010年9月份校园招聘WPS服务端开发的笔试题,绝对真实!!

    金山软件工程师(java)笔试试题

    【金山软件工程师(Java)笔试试题解析】 金山软件,作为中国知名的技术驱动型企业,其在软件开发领域有着深厚的积累,尤其是对Java技术的应用。针对“金山软件工程师(Java)笔试试题”,我们可以从中抽取出一系列...

    金山2010测试笔试题

    ### 金山2010测试笔试题解析 #### 常量(const)的使用方法及其重要性 在C++编程中,`const` 关键字用于定义不可更改的变量、对象或者指针,以增强代码的安全性和可读性。本节将详细探讨`const`的不同用途及其在实际...

    2014金山WPS部分笔试题

    2014年的金山WPS校招笔试题主要针对应届毕业生,旨在测试应聘者的计算机基础知识、编程能力、逻辑思维以及对WPS办公软件的熟悉程度。 一、基础计算机知识 这部分可能涵盖计算机系统的组成、操作系统原理、网络基础...

    金山公司2014校园招聘你笔试题

    【标题】:“金山公司2014校园招聘你笔试题”揭示了这是一份与2014年金山软件公司校园招聘相关的C++编程能力测试题目。金山软件是一家知名的中国IT企业,以其在软件开发,尤其是游戏开发和办公软件领域的贡献而著称...

    金山公司2009年7月最新笔试题

    ### 金山公司2009年7月最新笔试题知识点解析 #### 第一题:C++虚表指针位置判断 ##### 知识点概述 本题考察的是C++中的多态机制,尤其是虚函数表(vtable)的概念及其在对象布局中的位置。在面向对象编程中,虚...

    毕业就也之-----金山笔试题

    这段代码是关于组合和递归算法的,主要讨论如何找出一组数字的所有可能组合,并计算它们的和,以解决金山公司的笔试题目。以下是相关的知识点: 1. **数组与指针**: - `Num[]` 和 `Resoult[]` 是整型数组,用于...

    金山软件11月14号清华 - 2014校招笔试题 - java和C++

    这篇文档将详细解析2014年11月14日在清华大学进行的金山软件校园招聘笔试中的Java和C++题目,旨在帮助读者了解并掌握这些关键的编程知识点,以备将来类似的面试或笔试之需。 首先,金山软件作为一家知名的IT企业,...

    金山笔试题金山笔试题:涉及C++...及一些算法设计技术.....

    "C++编程与算法设计技术" 本资源涉及C++编程语言和算法设计技术,涵盖了多种数据结构、继承方式、算法设计和数据库查询等知识点。 1. const char *p、三种的区别: const char *p、char const *p和char * const p...

    金山2008校园招聘笔试题

    【金山2008校园招聘笔试题】涉及的知识点涵盖了C++编程语言、STL容器、数据结构、算法、数据库操作、面向对象编程以及逻辑思维能力。以下是对这些知识点的详细解析: 1. **指针与const的用法**: - `const char *p...

    金山 软件测试 笔试题

    金山软件 测试类笔试 题目: 1、const 用法,列举至少2 种

    海康+金山+三一重工2009笔试题

    海康威视、金山软件和三一重工是三家在各自领域具有重要影响力的公司,它们的笔试题往往能反映出企业对技术人才的要求和行业的发展趋势。2009年的笔试题,尽管距今已有一定时间,但依然能为当前的求职者提供宝贵的...

Global site tag (gtag.js) - Google Analytics