06 2017 档案
4.写出完整版的strcpy函数
摘要:(1) 2~4分 (2)7~8分 (3)10分
阅读全文
3.strcpy使用注意(3)
摘要:分析:因为strlen的结果未统计'\0'所占用的1个字节。只有把程序中的<=改为<,这样可以保证str1最末尾的字符是\0,因为strcpy函数是从源地址开始拷贝,直到遇到\0为止。
阅读全文
2.strcpy使用注意(2)
摘要:分析下述代码: 代码不能通过编译。str1为char *const类型的右值类型,根本不能赋值。若想对数组的第一个元素赋值,需要使用*str=‘a’;对字符数组赋值后,使用库函数strcpy进行拷贝操作,strcpy会从源地址一直往后拷贝,直到遇到‘\0’为止。所以拷贝长度是不定的。如果一直没有遇到
阅读全文
1.strcpy使用注意
摘要:上述代码问题? 字符串str1需要11字节才能存放下(包括末尾的‘\0’),而string只有10个字节的空间,strcpy会导致数组越界。 分析: 代码本身没有错误,如果将str1拷贝到string中,string的长度会增加,并且也可以正确的输出string。 但是存在潜在的危险,string定
阅读全文
众数问题-找出超过一半的数
摘要:案例 思路一 对数列排序,再扫描一边,找出元素个数超过一半的元素。此时需要排序,同时需要记录每个元素出现个数,费时、费空间。 思路二 对于排好序的数列,假设总数为N,那么N/2位置的那个数必定为所求之数,这就不需要记录每个元素的个数。 思路三 对于数列,不用排序。对于其中的任意两个不同的元素,去除之
阅读全文
只出现一次的数
摘要:Q在一个数组中除两个数字只出现1次外,其它数字都出现了2次, 要求尽快找出这两个数字。 设题目中这两个只出现1次的数字分别为A和B,如果能将A,B分开到二个数组中,那显然符合“异或”解法的关键点了。因此这个题目的关键点就是将A,B分开到二个数组中。由于A,B肯定是不相等的,因此在二进制上必定有一位是
阅读全文
元素最大间距离
摘要:(一)问题:已知一个整数数组a[n],找出n个元素在数轴上两个相邻元素之间的最大间距。 (二)解析: (1)方案一:先对n个数据排序,然后扫描一遍可以找到有序数组中相邻元素的最大间距。( 时间复杂度为O(n*lgn) ) 思路二:自己不太懂这种方法。~引自《七月算法-数组高频面试题精讲》 参考:ht
阅读全文
第一个缺失数字
摘要:Given an unsorted integer array, find the first missing positive integer.For example,Given [1,2,0] return 3,and [3,4,-1,1] return 2. Your algorithm sh
阅读全文
局部最小值位置
摘要:定义局部最小的概念。arr长度为1时,arr[0]是局部最小。arr的长度为N(N>1)时,如果arr[0]<arr[1],那么arr[0]是局部最小;如果arr[N-1]<arr[N-2],那么arr[N-1]是局部最小;如果0<i<N-1,既有arr[i]<arr[i-1]又有arr[i]<ar
阅读全文