1.排序

冒泡,快速排序

2.查找

二分查找

3.链表

翻转链表

合并链表

是否有环

b. 快慢指针

  1. public class QuickSort {
  2.  
    public static void quickSort(int[] arr,int low,int high){
  3.  
    int i,j,temp,t;
  4.  
    if(low>high){
  5.  
    return;
  6.  
    }
  7.  
    i=low;
  8.  
    j=high;
  9.  
    //temp就是基准位
  10.  
    temp = arr[low];
  11.  
     
  12.  
    while (i<j) {
  13.  
    //先看右边,依次往左递减
  14.  
    while (temp<=arr[j]&&i<j) {
  15.  
    j--;
  16.  
    }
  17.  
    //再看左边,依次往右递增
  18.  
    while (temp>=arr[i]&&i<j) {
  19.  
    i++;
  20.  
    }
  21.  
    //如果满足条件则交换
  22.  
    if (i<j) {
  23.  
    t = arr[j];
  24.  
    arr[j] = arr[i];
  25.  
    arr[i] = t;
  26.  
    }
  27.  
     
  28.  
    }
  29.  
    //最后将基准为与i和j相等位置的数字交换
  30.  
    arr[low] = arr[i];
  31.  
    arr[i] = temp;
  32.  
    //递归调用左半数组
  33.  
    quickSort(arr, low, j-1);
  34.  
    //递归调用右半数组
  35.  
    quickSort(arr, j+1, high);
  36.  
    }
  37.  

简单面试前算法一览java的更多相关文章

  1. 几种简单的排序算法(JAVA)

    几种排序算法(JAVA) 一.代码 package com.hdwang; import java.util.Arrays; /** * Created by admin on 2017/1/20. ...

  2. 几个面试经典算法题Java解答

    题目一: public class testClockwiseOutput { //顺时针打印一个矩阵 @Test public void test(){ int[][] num = new int[ ...

  3. 简单的冒泡排序算法(java)

    package lianxi; public class BubbleSort { public static void main(String[] args) { int[] array = {12 ...

  4. 最近面试java后端开发的感受:如果就以平时项目经验来面试,通过估计很难——再论面试前的准备

    在上周,我密集面试了若干位Java后端的候选人,工作经验在3到5年间.我的标准其实不复杂:第一能干活,第二Java基础要好,第三最好熟悉些分布式框架,我相信其它公司招初级开发时,应该也照着这个标准来面 ...

  5. Java面试前需要了解的东西

    一.前言 只有光头才能变强 回顾前面: 广州三本找Java实习经历 上一篇写了自己面试的经历和一些在面试的时候遇到的题目(笔试题和面试题). 我在面试前针对Java基础也花了不少的时间,期间也将自己写 ...

  6. java实现简单回文算法

    算法要求 编写一个程序,判断一个字符串是否为"回文".回文串:字符串字符从前往后与从后往前一致(中心对称). 算法思路 首先将字符串等分左右两块,然后依次对称比较每一对字符是否相同 ...

  7. 玩转算法系列--图论精讲 面试升职必备(Java版)

    第1章 和bobo老师一起,玩转图论算法欢迎大家来到我的新课程:<玩转图论算法>.在这个课程中,我们将一起完整学习图论领域的经典算法,培养大家的图论建模能力.通过这个课程的学习,你将能够真 ...

  8. 编程之法:面试和算法心得(字符串包含java实现)

    内容全部来自编程之法:面试和算法心得一书,实现是自己写的使用的是java 题目描述 给定两个分别由字母组成的字符串A和字符串B,字符串B的长度比字符串A短.请问,如何最快地判断字符串B中所有字母是否都 ...

  9. 编程之法:面试和算法心得(旋转字符串java实现)

    内容全部来自编程之法:面试和算法心得一书,实现是自己写的使用的是java 题目描述 给定一个字符串,要求把字符串前面的若干个字符移动到字符串的尾部,如把字符串“abcdef”前面的2个字符'a'和'b ...

随机推荐

  1. c++ 子类与父类之间的类型转换

    子类与父类之间的类型转换 先给一段代码 class Base { public: int a = 10; }; class pub_Derv : public Base { Base *getBase ...

  2. c++ 程序编译后运行时的内存分配

    程序编译后运行时的内存分配 太好的文章了,看到不得不转,转自:http://blog.sina.com.cn/s/blog_5420e0000101a0w1.html 一.编译时与运行时的内存情况 1 ...

  3. Jenkins系列之pipeline语法介绍与案例

    Jenkins Pipeline 的核心概念: Pipeline 是一套运行于Jenkins上的工作流框架,将原本独立运行于单个或者多个节点的任务连接起来,实现单个任务难以完成的复杂流程编排与可视化. ...

  4. Spring MVC项目快速搭建(编程模型)

    1)配置DispatcherServlet前端控制器(web配置) 2)将xml文件路径告诉Spring MVC(DispatcherServlet) 以上两步等价于继承了WebApplication ...

  5. C# 给Word每一页设置不同图片水印

    Word中设置水印时,可加载图片设置为水印效果,但通常添加水印效果时,会对所有页面都设置成统一效果,如果需要对每一页或者某个页面设置不同的水印效果,则可以参考本文中的方法.下面,将以C#代码为例,对W ...

  6. 【转】int和Integer的区别

    int和Integer的区别: 1.Integer是int的包装类,int则是java的一种基本数据类型 2.Integer变量必须实例化后才能使用,而int变量不需要 3.Integer实际是对象的 ...

  7. DNS中的FQDN

    FQDN:(Fully Qualified Domain Name)全限定域名:同时带有主机名和域名的名称.(通过符号".") 例如:主机名是bigserver,域名是mycomp ...

  8. [MethodImpl(MethodImplOptions.Synchronized)]与lock机制

    [MethodImpl(MethodImplOptions.Synchronized)]与lock机制 在进行.NET开发时,经常会遇见如何保持线程同步的情况.在众多的线程同步的可选方式中,加锁无疑是 ...

  9. 【windows 操作系统】什么是窗口?|按钮也是窗口

    起因 在看操作系统消息机制的时候,看到一句化:全局消息队列把消息发送到窗口所在的线程消息队列.突然就怀疑起了窗口的意思.于是就有这边基类. 文章来源:https://docs.microsoft.co ...

  10. 关于JS继承

    关于JS继承 关于继承这个概念,是由面向对象衍生出来的.而JS身为一种基于面向对象而设计的语言,它和正统的面向对象语言又是有差别的. 面向对象语言 身为面向对象语言需要对开发者提供四种能力: ①:封装 ...