![](https://img-blog.csdnimg.cn/20190420173349976.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
算法
文章平均质量分 52
记录java面试的算法
钟渊
持续学习
展开
-
在一个长度为n的数组里的所有数字都在0到n-1的范围内,找出数组中任意一个重复的数字。
题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内,找出数组中任意一个重复的数字。测试代码: public static void main(String[] args) { int [] numbers ={0,1,2,2,3,4,5}; int [] duplication = new int[10]; int duplic...原创 2019-10-24 09:44:47 · 2659 阅读 · 0 评论 -
使用快排法,查找最小的n个数.
学习交流关注微信公众号:钟渊博客代码实现如下:public static void main(String[] args) { int [] arr = {2, 6, 3, 8, 9, 1, 16, 18, 0, 4}; int N = 3; getTopNMinBySort(arr, 0, arr.length - 1, N); ...原创 2019-07-29 13:19:52 · 336 阅读 · 0 评论 -
java面试:在一个长度为n的数组里的所有数字都在0到n-1的范围内,找出数组中任意一个重复的数字。
题目:在一个长度为n的数组里的所有数字都在0到n-1的范围内,找出数组中任意一个重复的数字。解答:public static void main(String[] args) { int [] numbers ={0,1,2,2,3,4,5}; int [] duplication = new int[10]; int duplicate...原创 2019-07-23 09:45:34 · 2613 阅读 · 0 评论 -
数据结构-栈
问题:定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数. 【该题摘自《剑指offer》】解答:public static void main(String[] args) { Stack<Integer> stack1 = new Stack(); Stack<Integer> stack2 = new Sta...原创 2019-06-13 20:07:33 · 167 阅读 · 0 评论 -
java面试:奇数偶数问题
题目:输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。解答: public static void main(String[] args) { int [] arr = {2,3,22,6,7,9,17,8}; reOrderAr...原创 2019-05-19 21:37:06 · 569 阅读 · 0 评论 -
Java面试:java栈和队列相关
题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。解答: public static void main(String[] args) { Stack<Integer> stack1 = new Stack<>(); Stack<Integer> stack2 = new Sta...原创 2019-05-16 19:30:14 · 140 阅读 · 0 评论 -
Java面试:重建二叉树题目
题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。解答: public static void main(String[] args) { //前序遍历数 int [] preNode ={1,2,4,7,3,5,6,8}; //中序遍历数 int [...原创 2019-05-12 20:02:18 · 146 阅读 · 0 评论 -
Java面试:打印链表
题目:输入一个链表,从尾到头打印链表每个节点的值。解答: public static void main(String[] args) { ListNode node1 = new ListNode(5); ListNode node2 = new ListNode(6); ListNode node3 = new ListNode(...原创 2019-05-12 19:49:06 · 205 阅读 · 0 评论 -
字符串替换
题目:将一个字符串中的空格替换成 "%20"解答: public static void main(String[] args) { String str = "KAI SHU JIANG GU SHI"; System.out.println(replaceSpace(str)); } private static String re...原创 2019-04-29 19:30:02 · 120 阅读 · 0 评论 -
使用hilo高低位算法-生成商品编号
/** 高低位算法*/private class HiloOptimizer { private String prefix; //前缀 private int maxLo; private int lo; private long hi; private long las原创 2016-09-27 18:22:43 · 2418 阅读 · 0 评论 -
数组的排序
一、选择排序图例:选择排序我们可以将它看做是" 大圈套小圈 "。拿着0角标的元素,依次跟下一个角标的元素进行比较。代码:class ArraySort { public static void sort(int arr[]) { for(int i=0;i<arr.length-1;i++){ for(int j=i+1;原创 2016-08-27 23:14:33 · 495 阅读 · 0 评论 -
递归算法
学习交流关注微信公众号:钟渊博客一、递归实现N!.代码实现:package cn.test;/** * @author 徐庶 * @date 2016年9月6日 */public class Recursive { //递归 private static long factorial(int n) { if(n == 1){ return 1; } ret...原创 2016-09-06 21:27:37 · 815 阅读 · 0 评论 -
二维数组问题
问题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。解答:/** *思路:从右上角或者左下角开始找 */ public static void main(String[] args) { int arr [] [] = {{...原创 2019-04-28 20:04:00 · 375 阅读 · 0 评论