随笔分类 - 面试
摘要:算法的稳定性:如果待排序的两个元素Ri,Rj,其对应的关键字keyi=keyj,且在排序前Ri在Rj的前面,如果排序后Ri还在Rj的前面,则称这种排序算法是稳定的,否则称排序算法是不稳定的。 内部排序和外部排序:内部排序是指在排序期间,元素全部存放在内存中的排序。外部排序是指排序期间元素无法全部同时
阅读全文
摘要:1.问题描述: 在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。 给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。 重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。 如果具有
阅读全文
摘要:1.题目描述 给定一个字符串 S 和一个字符 C。返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组。 示例 1: 说明: 2.解决方法
阅读全文
摘要:问题描述: 两个整数之间的汉明距离指的是这两个数字对应二进制位不同的位置的数目。 给出两个整数 x 和 y,计算它们之间的汉明距离。 注意:0 ≤ x, y < 231. 示例:
阅读全文
摘要:问题描述: 给定一个数组 nums 和一个值 val,你需要原地移除所有数值等于 val 的元素,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素。 示例 1: 示例 2:
阅读全文
摘要:题目描述: 给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。 这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之间存在着双向连接的对应模式。 示例1: 示例 2: 示例 3: 示例 4: 说明:你可以假设 pat
阅读全文
摘要:编写一个函数,其作用是将输入的字符串反转过来。 示例 1: 示例 2:
阅读全文
摘要:实例说明 示例 1: 示例 2: 说明: 所有输入只包含小写字母 a-z 。 实现方法:
阅读全文
摘要:问题描述: 罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。 例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。 通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特
阅读全文
摘要:链表通常有单链表,双链表和循环链表,是面试里面常涉及到的考点。链表的结构简单,但是涉及到指针的操作,容易出现新的理解,其中也牵涉到许多小的细节的考虑。 面试题:反转链表 题目描述:定义一个函数,输入一个链表的头结点,求反转后该链表的输出和链表的头结点。 链表结点定义如下: 1 struct List
阅读全文
摘要:7.反转整数 给定一个 32 位有符号整数,将整数中的数字进行反转。 示例 1: 示例 2: 示例 3:
阅读全文
摘要:设计一个算法移除字符串中的重复字符,并写出测试用例。 解决思想: 1:对于每个字符,检查在一发现字符集合中是否已经存在。 2:若存在,则跳过,否则加入到已发现字符集合中。 测试用例:1:不含有重复字符的字符串,如“abcd”; 2: 含单一字符的字符串,如“aaaa”; 3: 空字符与空指针,如“”
阅读全文
摘要:但是所示数组保存字符串的话,是存在栈区的,数组又是常量指针,即数组的这地址是不可以修改的,所以上面程序不会修改字符串的值。 要想字符指针像字符数组一样使用,需要提前申请相应的的内存空间,并在使用完以后对他进行释放。
阅读全文
摘要:1 #include 2 #include 3 void multiply(const char *a,const char *b) 4 { 5 assert(a!=NULL && b!=NULL); 6 int i,j,ca,cb,*s; 7 ca=strlen(a); 8 cb=strlen(b); 9 s=(int *)malloc...
阅读全文