笔试题
koko2015c
这个作者很懒,什么都没留下…
展开
-
笔试选择题
1.大小为MAX的循环队列中,f为当前对头元素位置,r为当前队尾元素位置(最后一个元素的位置),则任意时刻,队列中的元素个数为:教材上说的 (也是大家记住的)求队列公式为: (rear-front+Max)%Max 该公式中的 rear指向队尾元素的下一个位置 ,而本题中 r 指 向队尾元素位置 。举例子:一个总长为10的循坏队列,在某一时刻其 头front=4,尾rear=7有4/5/6三原创 2017-03-24 15:47:42 · 1391 阅读 · 0 评论 -
[编程题] 有趣的数字
[编程题] 有趣的数字 小Q今天在上厕所时想到了这个问题:有n个数,两两组成二元组,差最小的有多少对呢?差最大呢? 输入描述:输入包含多组测试数据。对于每组测试数据:N - 本组测试数据有n个数a1,a2…an - 需要计算的数据保证:1<=N<=100000,0<=ai<=INT_MAX. 输出描述:对于每组数据,输出两个数,第一个数表示差最小的对数,第二个数表示差最大的对数。输入例子:转载 2017-03-24 13:26:53 · 470 阅读 · 0 评论 -
[编程题] 算法基础-字符移位
[编程题] 算法基础-字符移位 小Q最近遇到了一个难题:把一个字符串的大写字母放到字符串的后面,各个字符的相对位置不变,且不能申请额外的空间。 你能帮帮小Q吗? 输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出移位后的字符串。输入例子: AkleBiCeilD输出例子: kleieilABCD比较字母大小写的两种方法:转载 2017-03-24 10:24:20 · 597 阅读 · 0 评论 -
构造回文
给定一个字符串s,你可以从中删除一些字符,使得剩下的串是一个回文串。如何删除才能使得回文串最长呢? 输出需要删除的字符个数。 输入描述:输入数据有多组,每组包含一个字符串s,且保证:1<=s.length<=1000.输出描述:对于每组数据,输出一个整数,代表最少需要删除的字符个数。输入例子: abcda google输出例子: 2 2思路:回文串的特点是,逆序输出和正序输出是一样的。所转载 2017-03-24 08:59:05 · 488 阅读 · 0 评论 -
[编程题] 优雅的点
小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。 例如:半径的平方如果为25 优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。 输入描述: 输入为一个整数,即为圆半径的平方,范围在32位int范围内。输原创 2017-03-24 22:02:18 · 734 阅读 · 0 评论 -
最高分是多少
老师想知道从某某同学当中,分数最高的是多少,现在请你编程模拟老师的询问。当然,老师有时候需要更新某位同学的成绩.输入描述:输入包括多组测试数据。 每组输入第一行是两个正整数N和M(0 < N <= 30000,0 < M < 5000),分别代表学生的数目和操作的数目。 学生ID编号从1编到N。 第二行包含N个整数,代表这N个学生的初始成绩,其中第i个数代表ID为i的学生的成绩 接下来又M行原创 2017-08-25 16:47:25 · 318 阅读 · 0 评论 -
最长回文子串(Manacher算法)
给定一个字符串,求它的最长回文子串的长度。 有的博客给出了四种解法基本思路就请参考其他博客的介绍,在这里主要是分享一个我找了很久的BUG。 BUG:数组越界 找呀找,找到有以下几点原因:没有对原始字符串增加‘¥’,‘#’,末尾也要加一个‘#’;在for循环里面,i=1,但是最开始我写成i=0;if(i+p[i]<n){ while(...){ if(i+p[i]>=原创 2017-09-04 23:03:51 · 347 阅读 · 0 评论 -
45. Jump Game II
题目: https://leetcode.com/problems/jump-game-ii/description/For example: Given array A = [2,3,1,1,4]The minimum number of jumps to reach the last index is 2. (Jump 1 step from index 0 to 1, then 3 ste转载 2017-08-28 09:34:03 · 203 阅读 · 0 评论 -
明明的随机数
明明的随机数明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。Input Param n 输入随机原创 2017-08-24 09:59:57 · 263 阅读 · 0 评论 -
ArrayList使用
借助Collections工具类:import java.util.ArrayList;import java.util.Collections;public class TTEST { public static void main(String[] args) { ArrayList<String> arr = new ArrayList<String>();转载 2017-03-24 20:08:14 · 226 阅读 · 0 评论 -
[编程题] 回文序列
如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前转载 2017-03-24 21:29:49 · 622 阅读 · 0 评论 -
[编程题] 跳石板
小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3……. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->8->1原创 2017-03-25 10:54:23 · 324 阅读 · 0 评论 -
奇虎360笔试题2014
一、选择题 1. 有5名同学争夺3项比赛的冠军,若每项只设1名冠军,则获得冠军的可能情况是 A120种 B130种 C60种 D125种试题分析:题是一个分步计数问题,5名学生中任一名均可报其中的任一项,因此每个学生都有4种报名方法,第一个学生有4种报名方法,第二个也是这样,以此类推5名学生都报了项目才能算完成这一事件.根据分步乘法原理得到结果.每个项目只有一个冠军,每一名学生都可能获得原创 2017-03-24 16:54:22 · 5165 阅读 · 1 评论 -
链地址法和开放定址法,求等概率下查找成功时的平均查找长度
问题描述: 算法与数据结构的一个题目,用链地址法和开放定址法,求等概率情况下查找成功时的平均查找长度 已知一组关键字(13,20,85,52,8),哈希函数为:H(key)=key MOD 6 1)用开放定址法处理冲突,选用线性探测再散列处理冲突,即Hi=(H(k)+di) MOD m,m=6。并求等概率情况下查找成功时的平均查找长度。 2)用链地址法处理冲突,并求等概率情况下查找成功时的平原创 2017-04-21 09:35:24 · 14605 阅读 · 0 评论 -
约瑟夫环问题
约瑟夫环问题约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围;从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。分析:给出一个序列,从0~n-1编号。其中,k代表出列的序号的下一个,即k-1出列。a 0, 1, …, k-1, k, k+1, …, n-1那么,出列的序号原创 2017-08-25 14:47:30 · 401 阅读 · 0 评论 -
汽水瓶换汽水
有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?注意: while(i原创 2017-08-24 10:39:54 · 403 阅读 · 0 评论 -
十六进制转十进制
写出一个程序,接受一个十六进制的数值字符串,输出该数值的十进制字符串。(多组同时输入 )分析:如果字符串里有十六进制的数字,要解析成整数数据类型,可以使用Integer.parseInt()或者Long.parseLong();String s = "7890abcd"; int i = Integer.parseInt(s, 16); long l = Long.parseLong(s, 1原创 2017-08-24 11:24:59 · 670 阅读 · 0 评论 -
[百度]不等式数列
度度熊最近对全排列特别感兴趣,对于1到n的一个排列,度度熊发现可以在中间根据大小关系插入合适的大于和小于符号(即 ‘>’ 和 ‘<’ )使其成为一个合法的不等式数列。但是现在度度熊手中只有k个小于符号即(‘<”)和n-k-1个大于符号(即’>’),度度熊想知道对于1至n任意的排列中有多少个排列可以使用这些符号使其为合法的不等式数列。 输入: 5 2 输出: 66分析:使用动态规划用二维数原创 2017-06-26 17:22:24 · 320 阅读 · 0 评论 -
[百度]有趣的排序
度度熊有一个N个数的数组,他想将数组从小到大 排好序,但是萌萌的度度熊只会下面这个操作: 任取数组中的一个数然后将它放置在数组的最后一个位置。 问最少操作多少次可以使得数组从小到大有序? 输入描述: 首先输入一个正整数N,接下来的一行输入N个整数。(N <= 50, 每个数的绝对值小于等于1000)输出描述: 输出一个整数表示最少的操作次数。 输入例子: 4 19 7 8 25输出原创 2017-06-26 16:34:51 · 713 阅读 · 0 评论 -
寻找三角形
三维空间中有N个点,每个点可能是三种颜色的其中之一,三种颜色分别是红绿蓝,分别用’R’, ‘G’, ‘B’表示。 现在要找出三个点,并组成一个三角形,使得这个三角形的面积最大。 但是三角形必须满足:三个点的颜色要么全部相同,要么全部不同。 输入描述: 首先输入一个正整数N三维坐标系内的点的个数.(N <= 50) 接下来N行,每一行输入 c x y z,c为’R’, ‘G’, ‘B’ 的原创 2017-06-26 15:46:28 · 294 阅读 · 0 评论 -
小熊吃糖
小熊吃糖1.小熊有战斗力和饥饿值; 2.战斗值高的小熊优先吃糖,消除饥饿; 3.若小熊未吃饱,将继续吃糖来消除饥饿,但是小熊不会吃撑; 输入: 第一行两个整数,一个是小熊个数n,糖果个数m; 第二行,每个糖果的大小,表示可以消除多少的饥饿; 剩下n行,两个整数,一个数是小熊的战斗力,一个值是小熊的饥饿值; 返回: 返回每个小熊剩余的饥饿值。 实例: 2 5 5 6 10 20原创 2017-09-02 18:31:29 · 1147 阅读 · 0 评论