• 面试中常遇到的算法面试题


     Java面试题之冒泡排序:

    冒泡排序,听这个名字就可以知道,利用冒泡的方式将最大的(或者最小的,本文介绍最大的)移动到最后一位。

    例如一个数组有如下值;

     1 int[] intForArray = {32,15,9,71,2,6,10}; 

    排序需要进行的步骤是:

    首先将32依次和后面的值进行比较,如果比他大就移动到后面。

    第一次排序的顺序应该是:

    15,9,32,2,6,10,71;

    这是最后一位已经是最大的了,故不需要对最后一位进行排序;

    第二次排序就可以忽略掉最后一位;

    下来就是:9,15,2,6,10,32;

    依次类推;

    Java代码具体实现代码如下:

     1     public static int[] maoPao(int[] arr) {
     2 
     3         for (int i = 0; i < arr.length - 1; i++) { // 总共需要比较多少次;
     4             for (int j = 0; j < arr.length - i - 1; j++) { // 每个数需要和多少个之后的数比较;
     5                 if (arr[j] > arr[j + 1]) {
     6                     arr[j] ^= arr[j + 1];
     7                     arr[j + 1] ^= arr[j];
     8                     arr[j] ^= arr[j + 1];
     9                 }
    10             }
    11         }
    12         return arr;
    13     }

    Java面试题之斐波那契数列:

    斐波那契数列(Fibonacci sequence),又称黄金分割数列、因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为“兔子数列”,指的是这样一个数列:1、1、2、3、5、8、13、21、34、……

    先上代码吧;

     1 public class Test01 {
     2 
     3     public static void main(String[] args) {
     4         int fun = fun(5);
     5         System.out.println("结果是:" + fun);
     6     }
     7 
     8     private static int fun(int i) {
     9 
    10         if (i == 1 || i == 2) {
    11             return 1;
    12         } else {
    13             return fun(i - 1) + fun(i - 2);
    14         }
    15 
    16     }
    17 }

    解析如下:

    fun(5) = fun(4) + fun(3);
    fun(4) = fun(3) + fun(2);
    fun(4) = fun(3) + 1 ;
    fun(3) = fun(2) + fun(1);
    fun(3) = 2 ;
    fun(4) = 2 + 1 ;
    fun(5) = 2 + 3 ;
    fun(5) = 5 ;

    持续更新,希望可以帮到各位……

  • 相关阅读:
    Cocos2dx-demo演示项目:Part2
    利用Python抓取亚马逊评论列表数据
    Cocos2dx-demo演示项目:Part1
    正则表达式匹配原理
    js正则函数中test和match的区别
    【别人家的孩子系列之】浅析正则表达式—(原理篇)
    JS 获取浏览器窗口大小
    javascript的insertBefore、insertAfter和appendChild简单介绍
    javascript 限制字符串字数换行 带BUG
    一行一行分析JQ源码学习笔记-06
  • 原文地址:https://www.cnblogs.com/miss3316/p/8625018.html
Copyright © 2020-2023  润新知