博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
剑指Google
阅读量:5825 次
发布时间:2019-06-18

本文共 2649 字,大约阅读时间需要 8 分钟。

hot3.png

快排

要点:非递归函数要仔细

public class QuickSort {    public static int arr[] = {4,3,2,1,5,6,7,9,8,0,4};    public static void main(String[] args){        sort();    }    public static int partition(int low,int high){        int key = arr[low];        while(low < high){            while(low
= key) {high --;}            arr[low] = arr[high];            while(low
<= key) {low ++;}            arr[high] = arr[low];        }        arr[low] = key;        return low;    }    public static void sort(){        if (arr == null || arr.length==0) return;        Stack
 stack = new Stack
();        int start = 0;        int end = arr.length-1;        int mid;        stack.push(start);        stack.push(end);        while(!stack.isEmpty()){            end = stack.pop();            start = stack.pop();            mid = partition(start,end);            if(start < mid-1){                stack.push(start);                stack.push(mid-1);            }            if(end >mid+1){                stack.push(mid+1);                stack.push(end);            }        }    }}

青蛙跳台阶

1. 如果一次能够跳1或2个台阶,要跳n阶的台阶有多少种跳法

2. 如果一次能调n阶,跳n阶的有多少种跳法。

public static int recursion(int n){    if(n==0) return 0;    else if(n==1) return 1;    else if(n==2) return 2;    else return recursion(n-1) + recursion(n-2) ;}public static int nonRecursion(int n){    if(n==0) return 0;    int a = 0;    int b = 1;    int sum = 0;    for(int i=1;i<=n;i++){        sum = a + b;        a = b;        b = sum;    }    return sum;}

第二个问题用数学归纳法:f(n) = 2f(n-1)

查找两个字符串中相同的数字

找出数组中两数相加等于指定数的所有组合

求最长回文串长度

返回单向链表倒数第n个节点

String to int

要点:1、判断是否过长。     2、是否是负数       3、数如何表示

/** * Created by TanZhen on 2015/7/17. * Java面试:将string转化为int * 本实现的缺点是没有考虑大数 */public class Str_to_Int {    public static void main(String[] args){        try {            System.out.println(str2int("-1234567890"));        } catch (Exception e) {            e.printStackTrace();        }    }    public static int str2int(String val) throws Exception {        if(val.startsWith("-") && val.length()>11){            throw new Exception("errrrr");        }        if(!val.startsWith("-") && val.length()>10){            throw new Exception("errrrr");        }        int result = 0;        if(val.startsWith("-")){            for(int i=1;i

堆排

入排序

归并排序

二分查找

翻转字符串

str_B中的所有字母是否都在 str_A中

查找单项链表的中间节点

判断单向链表是否是回文/字符串

单项链表的逆序实现

合并两个有序链表

全排列

组合

二叉树的广度优先遍历

二叉树的前序遍历

二叉树的后续遍历

二叉树的镜像

最长公共子序列

字符串的模式匹配(KMP)

将String字符串转换成数字

 

将汉字转化成数字(×)

链表奇偶位置调换

  1.  * 思想:每当一趟匹配过程中出现字符比较不等,不需要回溯i指针,  

  2.  * 而是利用已经得到的“部分匹配”的结果将模式向右“滑动”尽可能远  

  3.  * 的一段距离后,继续进行比较。

转载于:https://my.oschina.net/supersonic/blog/478065

你可能感兴趣的文章
SQL点滴32—Excel中CONCATENATE函数生成SQL语句
查看>>
oninput,onpropertychange,onchange的用法和区别【转载】
查看>>
WebService原理
查看>>
Nginx学习之三-ngx_http_request_t结构体
查看>>
JS里写入(混写)php asp
查看>>
安卓开发_浅谈SubMenu(子菜单)
查看>>
Android 编程下的代码混淆
查看>>
python插入oracle数据
查看>>
常见的Hadoop十大应用误解
查看>>
App开发所要注意的几个法务问题(转)
查看>>
微信分享JS接口失效说明及解决方案
查看>>
POJ3176:Cow Bowling(数字三角形问题)
查看>>
简易扩展Visual Studio UnitTesting支持TestMethodCase
查看>>
TypeError: document.formname.submit is not a function
查看>>
android 获取当前 activity
查看>>
修改UIView的默认Layer后,修改View的值会动态修改Layer的值
查看>>
AndroidStudio小技巧--依赖库
查看>>
深入理解Yii2.0(yii学习的经典博客)
查看>>
MySQL replace 的简介
查看>>
时间戳实现增量数据同步
查看>>