随笔分类 - 笔试题
摘要:1. 依赖 2. 关联 3. 聚合 4. 组合 5. 泛化 6. 实现
阅读全文
摘要:题目:你需要爬上一个N层的楼梯,在爬楼梯的过程中,每阶楼梯需花费非负代价,第 i 阶楼梯花费代价表示cost[i],一旦你付出了代价,你可以在该阶梯基础上往上爬一阶或两阶。在开始时,你可以选择从第 0 阶或第 1 阶开始出发。请计算爬上楼层顶部的最低花费。 输入格式: 1,100,1,100,1,1
阅读全文
摘要:题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表。要求不能创建任何新的结点,只能调整树中结点指针的指向。 分析:二叉搜索树要转成有序的链表,可以想到的是利用中序遍历二叉树,每得到一个输出结点就修改其指针指向,从而构成有序链表。 题解: /* struct TreeNode { i
阅读全文
摘要:题目:模仿微信钱包,请输入塞入红包的钱数total,份数num,最大值maxi,最小值mini 。已知第一个抢的人必得到1.0元,其余的人则随机。请输出某次发红包中产生的最大金额。 要求:除第一个人外,其余的人收到的红包金额是随机的。即要求使用随机数。
阅读全文
摘要:一、map是一种关联容器,支持高效的查找和访问 map中的元素是一些关键字-值(key-value)对: 关键字起索引作用; 值表示与索引相关联的数据。 关联容器中元素是根据关键字存储的,故其不支持位置相关的操作。 在map中的关键字必须是唯一的,而在multimap中,则允许多个元素具有相同的关键
阅读全文
摘要:1. 在尾部插入/删除元素 2. 在字符串中查找
阅读全文
摘要:一、string转int 1. 使用string流 2. 采用标准库中 atoi 函数 3. 采用 stoi 函数 二、int转string 1. 使用string流 2. 使用 sprintf 函数 3. 使用 to_string 函数
阅读全文
摘要:一、M进制转换成N进制(摘自博客:进制转换) 1. 将M进制数x转化为十进制数y 十进制数的形式为:d1d2d3d4d5d6...dn = d1 × 10n-1 + d2 × 10n-2 + d3 × 10n-3 + ... + dn-1 × 101 + dn M进制数的形式为:a1a2a3a4a5
阅读全文
摘要:题目一: 小明拿到了一个数列a1, a2, ... an,小明想知道存在多少个区间 [l, r] 同时满足下列两个条件: 输出满足条件的区间个数。 输入: 输入第一行三个整数n, k, t(1 ≤ n, k, t ≤ 105); 第二行 n 个整数,a1, a2, ... an(1 ≤ ai ≤ 1
阅读全文
摘要:题目:给出两个字符串,求出这样的一个最长的公共子序列的长度:子序列中的每个字符都能在两个原串中找到, 而且每个字符的先后顺序和原串中的先后顺序一致。 Sample Input abcfbc abfcab programming contest abcd mnp Sample Output 4 2 0
阅读全文
摘要:六十一、扑克牌中的顺子 题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王可以看成任意数字。 六十二、圆圈中最后剩下的数字 题目:0, 1, …, n-1这n个数字排成一个圆圈,从数字0开始,每次从这个圆圈里
阅读全文
摘要:五十一、数组中的逆序对 题目:在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。例如,在数组{7, 5, 6, 4}中,一共存在5个逆序对,分别是(7, 6)、(7, 5)、(7, 4)、(6, 4)和(5, 4)。 提示:本
阅读全文
摘要:四十一、数据流中的中位数 题目:如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。 提示:数据是从一个数据流中读出来的,因此数据的数目随着时间的变化而增加,即如果用
阅读全文
摘要:三十一、栈的压入、弹出序列 题目:输入两个整数序列,第一个序列表示栈的压入顺序,请判断第二个序列是否为该栈的弹出顺序。假设压入栈的数字均不相等。例如,序列{1, 2, 3, 4 ,5}是某栈的压栈序列,序列{4, 5, 3, 2, 1}是该压栈序列对应的一个弹出序列,但{4, 3, 5, 1, 2}
阅读全文
摘要:二十一、调整数组顺序使奇数位于偶数前面 题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分。 测试用例: 功能测试:输入数组中的奇数、偶数交替出现;输入的数组中所有偶数都出现在奇数的前面;输入的数组中所有奇数都出现在偶数的前面。
阅读全文
摘要:十一、旋转数组的最小数字 题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。 测试用例: 功能测试,如输入的数组是升
阅读全文
摘要:一、赋值运算符函数 题目:如下为类型CMyString的声明,请为该类型添加赋值运算符函数。 测试用例: 把一个CMyString的实例赋值给另外一个实例。 把一个CMyString的实例赋值给它自己。 连续赋值。 没有考虑异常安全性的解法: 考虑异常安全性的解法: 补:在新的代码中,我们在CMyS
阅读全文