
笔试
Jump1024
AGI Never Stop
-
原创 走格子问题 python代码
有一个M乘N的网格,一个机器人只能走格点且只能向右或向下走,要从左上角走到右下角。请设计一个算法,计算机器人有多少种走法。递归解法def countWays(x, y): if(x == 1 or y == 1): return 1 return countWays(x - 1, y) + countWays(x, y - 1)print(countWays(...2019-08-14 16:01:301175
0
-
原创 在排序数组中,找出给定数字的出现次数.比如 [1, 2, 2, 2, 3] 中2的出现次数是3次。
import java.util.Scanner;//在排序数组中,找出给定数字的出现次数.比如 [1, 2, 2, 2, 3] 中2的出现次数是3次。public class CiShu { public static void main(String args[]) { int[] nums = new int[] { 1, 2, 2, 2, 2, 3, 3, 3, 5, 52012-09-20 11:53:541483
0
-
原创 有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一个实数M。 需要选出若干个x,使这几个x的和与 M 最接近。
import java.util.Scanner;//有N个正实数(注意是实数,大小升序排列) x1 , x2 ... xN,另有一个实数M。 需要选出若干个x,使这几个x的和与 M 最接近。 public class JieJin { public static void main(String args[]) { double[] l = new double[] { 1.12012-09-20 15:14:372618
0
-
原创 如A[]={ 17 19 20 25 1 4 7 9},试在这样(下文)的数组中找一元素x,看看是否存在。
import java.util.ArrayList;import java.util.List;//对已排好序的数组A,一般来说可用二分查找可以很快找到。现有一特殊数组A[],它是循环递增的,如A[]={ 17 19 20 25 1 4 7 9},试在这样的数组中找一元素x,看看是否存在。public class Search { public static void main(2012-09-20 17:42:033157
0
-
原创 输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。
import java.util.Scanner;//题目:输入一个整数n,求从1到n这n个整数的十进制表示中1出现的次数。//例如输入12,从1到12这些整数中包含1 的数字有1,10,11和12,1一共出现了5次。public class CiShu { public static void main(String args[]) { Scanner cin = new2012-09-21 10:39:302000
0
-
原创 一个整数数组,有n个整数,如何找其中m个数的和等于另外n-m个数的和
import java.util.ArrayList;import java.util.List;//一个整数数组,有n个整数,如何找其中m个数的和等于另外n-m个数的和public class Find { public static void main(String args[]) { int[] data = new int[] { 1, 2, 8, 5, 6 };2012-09-21 11:41:473170
0
-
原创 写出一个函数,查找出每个字符的个数,区分大小写
import java.util.ArrayList;import java.util.List;//char *str = "AbcABca";//写出一个函数,查找出每个字符的个数,区分大小写public class Find { public static void main(String args[]) { char[] str = { 'A', 'b', 'c'2012-09-21 12:08:411085
0
-
原创 java版atoi
public class atoi { public static void main(String args[]) { char[] c = { '1', '0', '9', '4' }; int i = atoi(c); System.out.print(i); } private static int atoi(char[] c) { if (contai2012-09-24 17:05:221236
0
-
原创 找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"
import java.util.ArrayList;import java.util.List;//找出两个字符串中最大公共子字符串,如"abccade","dgcadde"的最大子串为"cad"public class ZuiDaZiChuan { public static void main(String args[]) { String str1 = "abccad2012-09-24 15:15:512383
1
-
原创 给定一个字符串,求出其最长的重复子串。
//给定一个字符串,求出其最长的重复子串。public class Longest { public static void main(String args[]) { String str = "bbbaaaac"; int maxLengthValue=0; int start=0,end=0; for (int i = 0; i fo2012-09-19 15:11:171797
0
-
原创 一个大的含有50M个URL的记录,一个小的含有500个URL的记录,找出两个记录里相同的URL。
一个大的含有50M个URL的记录,一个小的含有500个URL的记录,找出两个记录里相同的URL。 回答:首先使用包含500个url的文件创建一个hash_set。然后遍历50M的url记录,如果url在hash_set中,则输出此url并从hash_set中删除这个url。所有输出的url就是两个记录里相同的url。2012-09-19 15:55:292217
0
-
原创 Given an array of characters which form a sentence of words, give an efficient algorithm to reverse
Given an array of characters which form a sentence of words, give an efficient algorithm to reverse the order of the words (not characters) in it. import java.util.Ar2012-08-23 11:12:21617
0
-
原创 Do a breadth first traversal of a tree
import java.util.LinkedList;import java.util.Queue;import java.util.concurrent.ConcurrentLinkedQueue;class BinaryTree { static class Node { char data; Node left = null; Node right = n2012-08-31 17:10:20574
0
-
原创 Reverse a linked list.
public class OneLinkNode { public int data; public OneLinkNode next; public OneLinkNode(int k) { data = k; next = null; } public OneLinkNode() { this(0); } public static void ma2012-08-23 17:41:37439
0
-
原创 Give a very good method to count the number of ones in a "n" (e.g. 32) bit number.
Give a very good method to count the number of ones in a "n" (e.g. 32) bit number. public class Count { public static void main(String args[]) { int count=0; int n2012-08-23 11:37:311539
0
-
原创 Insert in a sorted list
public class OneLinkNode { public int data; public OneLinkNode next; public OneLinkNode(int k) { data = k; next = null; } public OneLinkNode() { this(0); } public static void ma2012-08-23 17:52:00559
0
-
原创 Given two strings S1 and S2. Delete from S2 all those characters which occur in S1 also and finally
Given two strings S1 and S2. Delete from S2 all those characters which occur in S1 also and finally create a clean S2 with the relevant characters deleted. public class StringManipulat2012-08-24 14:23:46785
0
-
原创 在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。
import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;//在一个字符串中找到第一个只出现一次的字符。如输入abaccdeff,则输出b。public class First { public static void main(Stri2012-09-19 18:15:322378
0
-
原创 有一个整数数组,请求出两两之差绝对值最小的值
//有一个整数数组,请求出两两之差绝对值最小的值,//记住,只要得出最小值即可,不需要求出是哪两个数。public class ChaZhi { public static void main(String args[]) { int[] a = new int[] { 1, 122, 134, 1115, 147, 19 }; int minValue = 999;2012-09-19 15:42:38838
0
-
转载 海量日志数据,提取出某日访问百度次数最多的那个IP。
海量日志数据,提取出某日访问百度次数最多的那个IP。 首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP(每位有1或0的取值)。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。2012-09-26 10:51:392516
0
-
转载 海量数据分布在100台电脑中,想个办法高效统计出这批数据的TOP10。
海量数据分布在100台电脑中,想个办法高效统计出这批数据的TOP10。 在每台电脑上求出TOP10,可以采用包含10个元素的堆完成(TOP10小,用最大堆,TOP10大,用最小堆)。比如求TOP10大,我们首先取前10个元素调整成最小堆,如果发现,然后扫描后面的数据,并与堆顶元素比较,如果比堆顶元素大,那么用该元素替换堆顶,然后再调整为最小堆。最后堆中的元素就是TOP10大。求出每台电2012-09-25 14:43:564637
3
-
转载 在二元树中找出和为某一值的所有路径
题目:输入一个整数和一棵二元树。 从树的根结点开始往下访问一直到叶结点所经过的所有结点形成一条路径。 打印出和与输入整数相等的所有路径。 例如输入整数22 和如下二元树 10 / \ 5 12 /\ 4 7 则打印出两条路径:10, 12 和10, 5, 7。 二元树节点的数据结构定义为: struct BinaryTreeNode // a node2012-11-25 19:58:38532
0
-
原创 设有两个有序(升序)序列存储在同一数组中相邻的位置上,不妨设为A[l..m],A[m+1..h],将它们归并为一个有序数列,并存储在A[l..h]。
//设有两个有序(升序)序列存储在同一数组中相邻的位置上,不妨设为A[l..m],A[m+1..h],将它们归并为一个有序数列,并存储在A[l..h]。 public class BingGui { public static void main(String args[]) { int[] A = { 1, 3, 5, 7, 9, 11 }; int[] B = { 2,2012-10-22 15:18:401838
0
-
转载 SSH知识点
Hibernate工作原理及为什么要用? 原理: 1.读取并解析配置文件 2.读取并解析映射信息,创建SessionFactory 3.打开Sesssion 4.创建事务Transation 5.持久化操作 6.提交事务 7.关闭Session 8.关闭SesstionFactory 为什么要用: 1. 对JDB2012-11-27 18:29:161717
0
-
转载 链表的相交与环存在问题
如果两个链表相交于某一节点,那么在这个相交节点之后的所有节点都是两个链表所共有的。也就是说,如果两个链表相交,那么最后一个节点肯定是共有的。先遍历第一个链表,记住最后一个节点,然后遍历第二个链表,到最后一个节点时和第一个链表的最后一个节点做比较,如果相同,则相交,否则不相交。时间复杂度为O( len1 + len2),因为只需要一个额外指针保存最后一个节点地址,空间复杂度为O(1)2012-10-22 15:44:39454
0
-
原创 笔试题 面试题
序列16 14 10 8 7 9 3 2 4 1的说法下面哪一个正确(A)A、大顶堆 B、小顶堆 C、不是堆 D、二叉排序树 二叉树是一种树形结构,每个节点至多有两颗子树,下列一定是二叉树的是(AC)A、红黑树 B、B树 C、AVL树 D、B+树 输入若已经是排好序的,下列排序算法最快的是(A)A、插入排2012-10-22 18:40:33696
0
-
转载 把二元查找树转变成排序的双向链表
题目:输入一棵二元查找树,将该二元查找树转换成一个排序的双向链表。要求不能创建任何新的结点,只调整指针的指向。10/ \6 14/ \ / \4 8 12 16转换成双向链表4=6=8=10=12=14=16。首先我们定义的二元查找树节点的数据结构如下:struct BSTreeNode{int m_nValue; // value of nod2012-11-23 21:34:25477
0
-
转载 C++ C# 笔试
题目(一):C++中我们可以用static修饰一个类的成员函数,也可以用const修饰类的成员函数(写在函数的最后表示不能修改成员变量,不是指写在前面表示返回值为常量)。请问:能不能同时用static和const修饰类的成员函数? 分析:答案是不可以。C++编译器在实现const的成员函数的时候为了确保该函数不能修改类的实例的状态,会在函数中添加一个隐式的参数constthis*。但当2012-11-17 22:39:01557
1
-
转载 输出全排列问题
public class QuanPaiLie { static void permute(String s) { permute("",s); } public static void main(String args[]) { permute("","abcd"); } stat2012-10-19 15:51:18791
0
-
原创 把字符串abcdef旋转2位得到字符串cdefab
public class RightShift { public static void main(String args[]) { char[] c = { 'a', 'b', 'c', 'd', 'e' }; for (int i = 0; i System.out.print(c[i]); } for (int i = 0; i char te2012-11-07 14:28:26673
0
-
原创 StringBuffer和String使用注意 String.replace方法的使用
public class Test { public static void stringReplace(String input) { input = input.replace('j', 'c'); } public static void stringBufferReplace(StringBuffer input) { input = input.append("c2012-10-24 11:57:436878
0
-
原创 A="ABCDF",在A中查找子串B=“CD”
public class ZiChuan { public static void main(String arg[]){ char[] srcstr={'A','B','C','D','F'}; char[] substr={'C','D'}; int temp = 0; for(int i=0;i { for(int j=0;j2012-10-19 10:44:591272
0
-
转载 给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?
给40亿个不重复的unsigned int的整数,没排过序的,然后再给一个数,如何快速判断这个数是否在那40亿个数当中?用位图/Bitmap的方法,申请512M的内存,一个bit位代表一个unsigned int值。读入40亿个数,设置相应的bit位,读入要查询的数,查看相应bit位是否为1,为1表示存在,为0表示不存在。2012-10-19 11:32:373116
3
-
转载 寻找热门查询:搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。
寻找热门查询:搜索引擎会通过日志文件把用户每次检索使用的所有检索串都记录下来,每个查询串的长度为1-255字节。 假设目前有一千万个记录(这些查询串的重复度比较高,虽然总数是1千万,但如果除去重复后,不超过3百万个。一个查询串的重复度越高,说明查询它的用户越多,也就是越热门),请你统计最热门的10个查询串,要求使用的内存不能超过1G。 虽然有一千万个Query,但是由于重复2012-10-18 21:51:542903
0
-
转载 设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。
设rand(s,t)返回[s,t]之间的随机小数,利用该函数在一个半径为R的圆内找随机n个点,并给出时间复杂度分析。思路:这个使用数学中的极坐标来解决,先调用[s1,t1]随机产生一个数r,归一化后乘以半径,得到R*(r-s1)/(t1-s1),然后在调用[s2,t2]随机产生一个数a,归一化后得到角度:360*(a-s2)/(t2-s2)2012-10-19 14:39:153405
1
-
原创 串T中是否含有串P
//串T中是否含有串Ppublic class Pattern { public static void main(String args[]){ char [] T={'D','T','U','O','P'}; char [] P={'U','O'}; int k=0,j=0; while(k if(T[k]==P[j]) {k++2012-10-22 10:39:55722
0
-
转载 笔试题 面试题
如果需要对磁盘上的1000W条记录构建索引,你认为下面哪种数据结构来存储索引最合适?()A、Hash Table B、AVL-Tree C、B-Tree D、List 数据库里建索引常用的数据结构是()A、链表2012-10-20 21:25:411151
0
-
原创 小白鼠喝药检测题
2012-10-22 14:14:58796
0
-
转载 笔试题
下面的排序算法中,初始数据集的排列顺序对算法的性能无影响的是(B)A、插入排序 B、堆排序 C、冒泡排序 D、快速排序 (B)设计模式将抽象部分与它的实现部分相分离。A、Singleton(单例)2012-11-04 20:21:301705
0
-
原创 You’re given an array containing both positive and negative integers and required to find the sub-a
You’re given an array containing both positive and negative integers and required to find the sub-array with the largest sum import java.util.ArrayList;import java.util.List;2012-08-22 19:01:24881
0