分享Java面试中遇到的一些经典算法题目

问题描述

1.写一个方法,用一个for循环打印九九乘法表/***打印九九乘法口诀表*/publicvoidnineNineMulitTable(){for(inti=1,j=1;j<=9;i++){System.out.print(i+"*"+j+"="+i*j+"");if(i==j){i=0;j++;System.out.println();}}}

2.给定一个java.util.Date对象,如何转化为”2007-3-2220:23:22”格式的字符串/***将某个日期以固定格式转化成字符串*@paramdate*@returnstr*/publicStringdate2FormatStr(Datedate){SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");Stringstr=sdf.format(date);returnstr;}

3.写一个方法,能够判断任意一个整数是否素数/***判断任意一个整数是否素数*@paramnum*@returnboolean*/publicbooleanisPrimeNumber(intnum){for(inti=2;i<=Math.sqrt(num);i++){if(num%i==0){returnfalse;}}returntrue;}

解决方案

解决方案二:
恩,都是最优解。
解决方案三:
4.写一个方法,输入任意一个整数,返回它的阶乘/***获得任意一个整数的阶乘*@paramn*@returnn!*/publicintfactorial(intnum){//递归if(num==1){return1;}returnnum*factorial(num-1);}

5.写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-1/***二分查找特定整数在整型数组中的位置(递归)*@paramdataset*@paramdata*@parambeginIndex*@paramendIndex*@returnindex*/publicintbinarySearch(int[]dataset,intdata,intbeginIndex,intendIndex){intmidIndex=(beginIndex+endIndex)/2;//如果查找的数要比开始索引的数据要小或者是比结束索引的书要大,或者开始查找的索引值大于结束的索引值返回-1没有查到if(data<dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){return-1;}if(data<dataset[midIndex]){returnbinarySearch(dataset,data,beginIndex,midIndex-1);}elseif(data>dataset[midIndex]){returnbinarySearch(dataset,data,midIndex+1,endIndex);}else{returnmidIndex;}}/***二分查找特定整数在整型数组中的位置(非递归)*@paramdataset*@paramdata*@returnindex*/publicintbinarySearch(int[]dataset,intdata){intbeginIndex=0;intendIndex=dataset.length-1;intmidIndex=-1;if(data<dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){return-1;}while(beginIndex<=endIndex){midIndex=(beginIndex+endIndex)/2;if(data<dataset[midIndex]){endIndex=midIndex-1;}elseif(data>dataset[midIndex]){beginIndex=midIndex+1;}else{returnmidIndex;}}return-1;}

解决方案四:
mark1.2.4个都写过``学习了!
解决方案五:
现在正在找工作,太感谢LZ分享了.
解决方案六:
不错,谢谢了
解决方案七:
不错,谢谢了
解决方案八:
good
解决方案九:

解决方案十:
呵呵不错学习咯
解决方案十一:
都很基础~~基础很重要顶了
解决方案十二:
确实,赞同楼上的观点。
解决方案十三:
有点意思
解决方案十四:
好东东
解决方案十五:
mark
解决方案:
小学生飘过!!!!!!~~~
解决方案:
好东西,重新学习了!谢谢LZ
解决方案:
经典,拜读
解决方案:
该回复于2009-04-27 13:26:35被版主删除
解决方案:
good,thankyou!!!
解决方案:
分享。
解决方案:
貌似这是前些天帖子里的部分代码
解决方案:
楼主辛苦了!
解决方案:
我也面试了。。其中有一些类似,难道我们是面同一所的?哈哈。。。都很基础。我是用C写的,嘿嘿
解决方案:
二分查找
解决方案:
收藏了
解决方案:
看上去好麻烦啊,有没有简单点的
解决方案:
收藏!!!
解决方案:

解决方案:
基础很重要呀现在深刻体会!
解决方案:
该回复于2009-04-28 06:27:54被版主删除
解决方案:
收藏
解决方案:
很好帖子,偶收藏了...多写楼主
解决方案:
MARK了多谢LZ
解决方案:
用二分法查找不是得先排好序么?
解决方案:
收藏了
解决方案:
mark
解决方案:
这是经典的算法题目吗?
解决方案:
基础的JavaSE题目,不过还是帮顶
解决方案:
顶下
解决方案:

解决方案:
没我喜欢的
解决方案:
mark^
解决方案:
为了中国的软件发展,资源共享,谢谢!
解决方案:
为中国之崛起努力。辛苦拉。
解决方案:
谢谢
解决方案:
挺感谢!
解决方案:
少了点,多弄点啊
解决方案:
for(inti=1;i<=9;i++){for(intj=1;j<=i;j++){System.out.print(j+"*"+i+"="+i*j+"");}System.out.println();}这样会更快些,当然,只算到9一点也看不出来,可以把9换成999试下
解决方案:
谢谢了!很有用的
解决方案:
学习了,感谢啊!

时间: 2025-01-15 03:53:38

分享Java面试中遇到的一些经典算法题目的相关文章

JAVA面试中问及HIBERNATE与 MYBATIS的对比,在这里做一下总结(转)

hibernate以及mybatis都有过学习,在java面试中也被提及问道过,在项目实践中也应用过,现在对hibernate和mybatis做一下对比,便于大家更好的理解和学习,使自己在做项目中更加得心应手. 第一方面:开发速度的对比 就开发速度而言,Hibernate的真正掌握要比Mybatis来得难些.Mybatis框架相对简单很容易上手,但也相对简陋些.个人觉得要用好Mybatis还是首先要先理解好Hibernate. 比起两者的开发速度,不仅仅要考虑到两者的特性及性能,更要根据项目需求

java语言中哪一种排序算法用的最多?

问题描述 java语言中哪一种排序算法用的最多? java语言中哪一种排序算法用的最多?快速排序既然效率高,为什么我们还要用冒泡呢?冒泡的好处是什么? 解决方案 不能说快速排序一定效率高,对于有序的序列,归并排序的效率就更高.对于大量小整数的排序,基数排序不但效率高,而且占用内存少.各种排序有不同的使用场合.所以都要学习,而不是问哪种常用. 解决方案二: 冒泡排序是用来理解排序的思路的,快速排序是默认的java排序,但是稳定性极差,建议你去百度八大排序,从快速插入排序开始,系统的学习理解排序.

Java 面试中的陷阱

自己也面试了很多家公司,觉得这些对今后的学习和工作非常有帮助. 总结的一些知识点非常有代表性.以下是正文. --------------------------------------------------------------------------------------------- 找工作要面试,有面试就有对付面试的办法.以下一些题目来自我和我朋友痛苦的面试经历,提这些问题的公司包括IBM, E*Trade, Siebel, Motorola, SUN, 以及其它大小公司. 面试是没

Java面试中的陷阱

第一,谈谈final, finally, finalize的区别. final?修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能既被声明为 abstract的,又被声明为final的.将变量或方法声明为final,可以保证它们在使用中不被改变.被声明为final的变量必须在声明时给定初值,而在以后的引用中只能读取,不可修改.被声明为final的方法也同样只能使用,不能重载 finally?再异常处理时提供 finally 块来执行任何

分享C++面试中string类的一种正确写法_C 语言

具体来说: 能像 int 类型那样定义变量,并且支持赋值.复制. 能用作函数的参数类型及返回类型. 能用作标准库容器的元素类型,即 vector/list/deque 的 value_type.(用作 std::map 的 key_type 是更进一步的要求,本文从略). 换言之,你的 String 能让以下代码编译运行通过,并且没有内存方面的错误. 复制代码 代码如下: void foo(String x)  {  }  void bar(const String& x)  {  }  Str

java 面试中的一道编写一个截取字符串的函数!!!!

函数|字符串 编程:编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串. 但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF",6,应该输出为"我ABC"而不是"我ABC+汉的半个". package string;class SplitString { private String str; private int byteNum; publi

编程题-面试中碰到的java基础题

问题描述 面试中碰到的java基础题 今天面试碰到这么一个问题,想了半天,不知如何回答 P1=V1; P2=V2; method(P1,P2){ P1=V3; P2=V4; } 结果是P1=V1;P2=V4;问P1P2是什么类型的时候才会出现这种情况 解决方案 在传递的时候,如果传递的是原生数据类型,则值不会改变 public class Test { public static void main(String[] args) { int a = 1; int b = 2; swap(a,b)

面试中关于Java中涉及到知识点(转)

本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺.   1. Java中的原始数据类型都有哪些,它们的大小及对应的封装类是什么? (1)boolean boolean数据类型非true即false.这个数据类型表示1 bit的信息,但是它的大小并没有精确定义. <Java虚拟机规范>中如是说:"虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持.在Java虚拟

分享SEO应聘中如何运筹帷幄虏获面试官的心

    最近笔者所在的公司开始招聘一些SEO职员,笔者在面试这些应聘者发现大多数的应聘者都有出现大同小异的错误,其中最明显的就是很多人都无法真正的抓住SEO工作的重点,结果很难在众多的求职者中脱颖而出虏获面试官的心.下面笔者就站在面试官的角度给SEO求职者几个好的建议,希望能帮助大家找到一个称心的工作. 1:SEO求职简历的书写,做有重心的求职者 SEO与其他行业相比来说更注重的是经验与是否有真实的操作案例,所以作为一名SEO求职者你需要在你的简历上详细的注明之前所在公司的工作内容,包括所接触过