`

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

阅读更多
1.写一个方法,用一个for循环打印九九乘法表

Java代码
         /**
     * 打印九九乘法口诀表
     */
    public void nineNineMulitTable(){
        for (int i = 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-22 20:23:22”格式的字符串
 
Java代码

/**
     * 将某个日期以固定格式转化成字符串
     * @param date
    * @return str
    */
    public String date2FormatStr(Date date)
    {
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
      String str = sdf.format(date);
      return str;
    } 
3.写一个方法,能够判断任意一个整数是否素数
 

Java代码

    /**
    * 判断任意一个整数是否素数
    * @param num
    * @return boolean
    */
    public boolean isPrimeNumber(int num)
    {
      for (int i = 2; i <= Math.sqrt(num); i++) {
          if(num%i==0)
          {
              return false;
          }
      }
      return true;
    }


4.写一个方法,输入任意一个整数,返回它的阶乘
Java代码

     /**
      *获得任意一个整数的阶乘
      *@param n
      *@returnn!
      */
      public int factorial(int num)
      {
        //递归
        if(num == 1)
        {
            return 1;
        }
        return num*factorial(num-1);
      }
5.写一个方法,用二分查找法判断任意整数在任意整数数组里面是否存在,若存在就返回它在数组中的索引位置,不存在返回-1

Java代码
1./**  
2. *二分查找特定整数在整型数组中的位置(递归)  
3. *@param dataset  
4. *@param data  
5. *@param beginIndex  
6. *@param endIndex  
7. *@return index  
8. */   
9. public int binarySearch(int[] dataset,int data,int beginIndex,int endIndex){   
10.   int midIndex = (beginIndex+endIndex)/2;   
11.   //如果查找的数要比开始索引的数据要小或者是比结束索引的书要大,或者开始查找的索引值大于结束的索引值返回-1没有查到  
12.   if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){  
13.       return -1;  
14.   }  
15.   if(data <dataset[midIndex]){    
16.       return binarySearch(dataset,data,beginIndex,midIndex-1);   
17.   }else if(data>dataset[midIndex])   
18.   {   
19.       return binarySearch(dataset,data,midIndex+1,endIndex);   
20.   }else {   
21.       return midIndex;   
22.   }   
23. }   
24.   
25. /**  
26.  *二分查找特定整数在整型数组中的位置(非递归)  
27.  *@param dataset  
28.  *@param data  
29.  *@return index  
30.  */   
31.  public int binarySearch(int[] dataset ,int data)   
32.  {   
33.    int beginIndex = 0;    
34.    int endIndex = dataset.length - 1;    
35.    int midIndex = -1;   
36.    if(data <dataset[beginIndex]||data>dataset[endIndex]||beginIndex>endIndex){  
37.        return -1;   
38.    }  
39.    while(beginIndex <= endIndex) {   
40.        midIndex = (beginIndex+endIndex)/2;   
41.        if(data <dataset[midIndex]) {    
42.           endIndex = midIndex-1;    
43.        } else if(data>dataset[midIndex]) {    
44.          beginIndex = midIndex+1;    
45.        }else {   
46.          return midIndex;   
47.        }   
48.    }   
49.    return -1;   
50.  }  
分享到:
评论

相关推荐

    JAVA经典算法面试39题及答案

    以下是本资源中的一些经典算法面试题目,每个题目都附带答案和解析: 程序 1:兔子生长问题 题目:古典问题:有一对兔子,从出生后第 3 个月起每个月都生一对兔子,小兔子长到第四个月后每个月又生一对兔子,假如...

    JAVA面试中一些经典题目算法

    在Java面试中,算法题目的考察是不可或缺的部分,它们能够反映出候选人的逻辑思维能力和编程基础。下面我们将深入探讨几个常见的面试题型,包括如何用for循环打印九九乘法表以及判断一个整数是否为素数的方法。 ...

    Java面试经典算法

    Java面试经典算法 Java 面试经典算法是指在 Java 面试中经常会被问到的算法题目,这些题目涵盖了数据结构、算法设计、编程语言基础知识等方面的知识。本文总结了 17 道 Java 面试经典算法题目,并对每道题目进行了...

    java面试常遇到的算法

    以下是对给定文件中提及的几个经典算法题目的深入解析,旨在帮助准备Java面试的开发者们全面掌握相关知识点。 ### 1. 打印九九乘法表 在Java中实现九九乘法表的打印,主要涉及到嵌套循环的应用。代码示例中,外层...

    JAVA经典算法40面试题

    该标题表明该资源是关于JAVA经典算法的40个面试题,这些题目涵盖了基本的算法面试代码题。 二、描述:“JAVA经典算法40面试题,包含基本的算法面试代码题。” 该描述进一步解释了标题,表明该资源包含了40个JAVA...

    Java面试常用数据结构与算法

    在Java面试中,数据结构与算法是至关重要的考察点,它们是解决问题的基础工具,能够有效提升程序的效率和可维护性。以下将详细介绍标题和描述中提到的一些关键知识点。 1. **数组**:数组是最基本的数据结构,它在...

    java面试中的算法

    根据给定的信息,我们可以提取并总结出几个与Java面试中常见的算法相关的知识点: ### 1. 冒泡排序(Bubble Sort) 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序...

    香港JAVA面试笔试题目

    在Java面试中,面试官通常会考察候选人的基础知识、编程能力、设计模式理解、并发处理、内存管理以及对JVM(Java虚拟机)的了解。香港的JAVA程序员面试笔试题目可能涵盖以下几个关键领域: 1. **基础语法**:面试...

    java最新经典算法源码

    其次,`java经典算法40题`可能是包括排序(如冒泡排序、快速排序、归并排序等)、搜索(如线性搜索、二分搜索等)、图论、动态规划等算法题目。掌握这些经典算法对于提高代码效率和解决问题的能力至关重要。在面试中...

    java面试经典算法

    以上是Java面试中常见的算法题目的解析,理解并掌握这些算法有助于在面试中表现出扎实的技术基础和问题解决能力。在准备面试时,不仅要注意正确实现算法,还要理解其背后的逻辑和优化的可能性。同时,能够用清晰的...

    java经典算法90题含源码及答案.rar

    Java经典算法90题含源码及答案的资源是一份非常宝贵的资料,它涵盖了大量用于提升Java编程技能和算法理解的题目。这份压缩包包含了三份文档:JAVA经典算法40题.doc、最新JAVA编程题全集_50题及答案.doc、50道JAVA...

    java面试题(算法+数据库)

    在Java面试中,面试官通常会考察候选人的算法基础以及数据库操作能力。这包括但不限于数据结构的理解、算法设计与分析、以及SQL的熟练运用。以下是相关知识点的详细介绍: 1. **算法基础**: - **古典算法**:包括...

    JAVA经典算法,有可能在面试中出现的题目哟

    【JAVA经典算法】在面试中,对于JAVA程序员来说,掌握一定的算法知识是非常重要的。这些算法不仅能够展现编程技能,还能体现逻辑思维和问题解决能力。以下是对给定的四道JAVA经典算法题目的详细解析: **题目1:...

    java经典算法 面试

    2. **搜索算法**:二分查找是Java面试中经常出现的一个话题,它在有序数组中查找目标元素,时间复杂度为O(log n)。此外,深度优先搜索(DFS)和广度优先搜索(BFS)是图和树结构中常用的方法,用于遍历节点。 3. **...

    一线互联网大厂算法面试问题Java实现

    "一线互联网大厂算法面试问题Java实现"这个压缩包文件集合了多个知名公司的算法面试题目的Java实现,包括谷歌、亚马逊、领英、雅虎、微软、Facebook以及Airbnb等。这些题目覆盖了数据结构、排序、搜索、图论等多个...

    常见面试算法题目

    3. 1~100共一百个自然数,放入一个只有99个元素的数组中,找出没有被放入数组的这个数; 4. 字符串的反转输出 5. 截取字符串, 如果该字符串是“abc我的”,当截取的字节数是3时候就是"abc',如果是4,依然是 abc,也...

    java实际公司面试题目

    8. **数据库交互**:虽然Java面试不一定涉及数据库,但JDBC(Java Database Connectivity)和SQL的基本知识是必要的,包括连接数据库、执行查询、处理结果集等。 9. **网络编程**:Java的Socket编程用于实现客户端/...

Global site tag (gtag.js) - Google Analytics