`
xitonga
  • 浏览: 586069 次
文章分类
社区版块
存档分类
最新评论

几个算法测试题及答案

 
阅读更多
1、编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。 但是要保证汉字不被截半个,如“我ABC”4,应该截为“我AB”,输入“我ABC汉DEF”,6,应该输出为“我ABC”而不是“我ABC+汉的半个”。
答:代码如下:
package test;

class SplitString
{
String SplitStr;
int SplitByte;
public SplitString(String str,int bytes)
{
SplitStr=str;
SplitByte=bytes;
System.out.println("The String is:′"+SplitStr+"′;SplitBytes="+SplitByte);
}
public void SplitIt()
{
int loopCount;

loopCount=(SplitStr.length()%SplitByte==0)?(SplitStr.length()/SplitByte):(SplitStr.length()/Split

Byte+1);
System.out.println("Will Split into "+loopCount);
for (int i=1;i<=loopCount ;i++ )
{
if (i==loopCount){


System.out.println(SplitStr.substring((i-1)*SplitByte,SplitStr.length()));
} else {

System.out.println(SplitStr.substring((i-1)*SplitByte,(i*SplitByte)));
}
}
}
public static void main(String[] args)
{
SplitString ss = new SplitString("test中dd文dsaf中男大3443n中国43中国人


0ewldfls=103",4);
ss.SplitIt();
}

}


2、求两个数的最大公约数

解答:
欧几理德原理:辗转相除法
public static int zdgys(int a,int b){
int x = a%b;
if(x==0) return b;
else return zdgys(b,x);

}


3、有一个1001个元素的数组a[n],每个元素都在1到1000这些整数中取值,其中有一个数值重复了,现在要设计一个算法找出这个数字,且每个元素只能被访问一次。不能用辅助的存储容器。


4、冒泡排序算法
解答:
package parent.career.blest;


/**
* 冒泡排序算法演示:从小到大排列数组元素
* 原理:第一个元素和后面的一个元素比较,比较结果再和后面一个元素比较,依次类推
* 接着,第二个和后面元素比较,依次类推
*/
public class Maopao{
public static int[] mppx(int[] array){
for(int i =0;i<array.length; i++){
for(int j=i; j<array.length; j++){
int temp;
if(array[i]>array[j]){
temp = array[i];
array[i] = array[j];
array[j] = temp;
}
}
}
return array;
}
public static void main(String args[]){
//测试
int[] ar ={12,23,1,23,45,11,42,9,45,2,16,77,86,56,43};
ar = mppx(ar);
for(int i = 0;i<ar.length;i++){
System.out.print(ar[i]+" ");
}
}

}


5、从键盘接收一个整数,并用递归求其阶乘。
解答:
package parent.career.blest;
import java.io.*;
/**
* 用递归求阶乘算法
* 从键盘接收一个整数,然后求其阶乘
*/
public class DG_JC{
public static int DG(int n){
if(n==1) return 1;
else return n*DG(n-1);
}
public static void main(String args[]){
int n = 0;
System.out.print("请输入一个整数:");
try{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
br.close();
}catch(IOException e){
e.printStackTrace();
}
System.out.println("阶乘"+n+"! = "+DG(n));
}

}


6、写出下列算法的时间复杂度。
(1)冒泡排序 O(n*n)
(2)选择排序 O(n*n)
(3)插入排序 O(n*n)
(4)快速排序 O(n*log n)
(5)堆排序 O(n*log n)
(6)归并排序 O(n*log n)
分享到:
评论

相关推荐

    java数据结构测试题及答案解析.doc

    A、double B、char C、byte D、short 解析:表达式expression只能返回这个几种类型的值:int、byte、short和char。 多分支语句把表达式返回的值依次与每个case子句中的值相比较,如果遇到匹配的值, 则执行该case...

    常见数据结构与算法笔试面试题大集合

    本人花几个月在多个优秀博客总结整理出来的,希望对大家有用。

    大连理工大学现代智能优化算法大作业-基于遗传算法解决JOB-SHOP问题

    本文使用一种简单易实现的遗传算法对Job-Shop调度问题进行了求解,在遗传操作中根据适应...随机选取λ个位置,产生这λ位置的所有邻域解,选取适应度值最高的作为子代,对几个经典的例子进行了测试,实现的问题的求解。

    算法 第4版-谢路云 译(Java描述)-完整版_部分1

    第4 版具体给出了每位程序员应知应会的50 个算法,提供了实际代码,而且这些java 代码实现采用了模块化的编程风格,读者可以方便地加以改造。本书配套网站提供了本书内容的摘要及更多的代码实现、测试数据、练习、...

    国信蓝桥试题算法

    问剩下第几个孩子。下面的程序以10个孩子为例,模拟了这个过程,请完善之(提示:报数的过程被与之逻辑等价的更容易操作的过程所代替)。 Vector a = new Vector(); for(int i=1; i; i++) { a.add("第" + i + ...

    算法导论(part1)

    一般来说,这些思考题都会包含几个小问题,引导学生逐步得到问题的解。 在那些不太适合于本科生、更适合于研究生的章节和练习前面,都加上了星号(*)。带星号的章节也不一定就比不带星号的更难,但可能要求了解更多...

    算法导论(part2)

    一般来说,这些思考题都会包含几个小问题,引导学生逐步得到问题的解。 在那些不太适合于本科生、更适合于研究生的章节和练习前面,都加上了星号(*)。带星号的章节也不一定就比不带星号的更难,但可能要求了解更多...

    Java常用算法手册源代码

    1.5 一个算法实例 1.5.1 查找数字 1.5.2 创建项目 1.5.3 编译执行 1.6 Java程序的基本结构 1.6.1 类是一个基本单元 1.6.2 main方法 1.6.3 自定义方法 1.6.4 System.out.println的使用 1.6.5 一个简单而完整的程序 ...

    互联网校招题库资料笔试面试真题具体面试问题回答技巧腾讯阿里培训资料.zip

    ava工程师面试题大全-100%公司笔试题你都能碰到几个.docx Java开发工程师上机笔试题.docx Java开发求职面试题.docx Java开发笔试题.docx Java数据结构类面试题.docx Java数据结构题.docx Java笔试面试宝典.docx Java...

    网络安全知识测试题.pdf

    在以下认证方式中,最常用的认证方式是:()[单选题] * A 基于账户名/口令认证(正确答案) B 基于摘要算法认证 ; C 基于 PKI 认证 ; D 基于数据库认证 8.以下哪项不属于防止口令猜测的措施? ()[单选题] * A、...

    麻省理工学院算法导论(中英文版包括原版教材、上课笔记、测试、课后作业等)part1

    对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全 面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规 划的...

    算法实现及性能比较与红黑树

    3) N=1000,10000,100000时,每个排序用不同的样本多试验几次(最低5次)得出平均时间,比较不同排序算法所用的平均时间。 2. (必做题) 红黑树、二叉搜索树的实现和性能比较 问题描述: 实现红黑树、二叉搜索树...

    Redis面试题50道(含答案)_.pdf

    27、Redis 事务相关的命令有哪几个? 28、Redis key 的过期时间和永久有效分别怎么设置? 29、Redis 如何做内存优化? 30、Redis 回收进程如何工作的? 31、Redis 回收使用的是什么算法? 32、Redis 如何做大量数据...

    中科大算法导论实验源码和报告

    3) N=1000,10000,100000时,每个排序用不同的样本多试验几 次(最低5次)得出平均时间,比较不同排序算法所用的平均时间。 文档要点:总结对各种排序的性能分析。 2. (必做题) 红黑树、二叉搜索树的实现和...

    【毕业设计】基于 K-means 算法的校园微博热点话题发现系统.rar

    本文通过几个模块设计并现了校园微博热点话题发现系统,包括微博数据爬取模块 、微博数据预处理模块、微博热点话题分析模块、微博热点话 题展示模块等模块。最后以广州中医药大学的生 活类微博 — 广中医I栋为研究...

    麻省理工学院算法导论(中英文版包括原版教材、上课笔记、测试、课后作业等)

    对每一个算法的分析既易于理解又十分有趣,并保持了数学严谨性。本书的设计目标全 面,适用于多种用途。涵盖的内容有:算法在计算中的作用,概率分析和随机算法的介绍。本书专门讨论了线性规划,介绍了动态规 划的...

    leetcode题库-g_algorithm:前端算法合集

    这里先介绍几个在线代码练习平台: 在线练习 在线面试编程 关于代码规范 俗话说,无规矩不成方圆,所以平时一定要养成良好的编码习惯 关于代码测试 学习测试和持续集成(Continuous Integration,简称CI,意思是,在...

    软件工程-理论与实践(许家珆)习题答案

    软件发展有几个阶段?各有何特征? 答: ① 程序设计阶段。  硬件特征:价格贵、存储容量小、运行可靠性差。  软件特征:只有程序、程序设计概念,不重视程序设计方法。  ② 程序系统阶段。  硬件特征:速度、...

    C++ 笔试题 google 微软 华为 索尼 中兴 大唐 各种C++笔试题目

    几道题目及自做答案 北电 普天C++笔试题 我所收集的intel比试题 面试题 2005年腾讯招聘 微软 微软亚洲技术支持中心面试题目 微创笔试题目(微创,微软在中国的合资公司) Intel笔试面试题目 IBM 社会招聘笔试题 宝洁...

    慕课-程序设计入门——C语言-单元测试题.zip

    C语言课程设计的优点主要体现在以下几个方面: 基础性强:C语言是一门基础性的编程语言,它直接涉及到计算机的内存管理、指针操作等底层知识。学习C语言有助于深入理解计算机的工作原理,为后续学习其他高级语言...

Global site tag (gtag.js) - Google Analytics