数据结构与算法
walltalk
来自火星的程序猿
展开
-
LFU之Java的O(1)实现
最近字节面试碰到一个算法题LFU,LeetCode 460题,记录一下算法思路以及代码实现本文是参考Leetcode @liweiwei1419 解答思路实现,原文连接代码实现(Java):import java.util.HashMap;import java.util.Map;public class LFUCache { Map<Integer, ListNode> map; int capacity; Map<Integer, TLink原创 2020-09-13 14:09:26 · 403 阅读 · 0 评论 -
快速排序的几种写法[Java]
package com.wzy.train;import java.util.Arrays;import java.util.Random;/** * @Author: wzy * @Description: * @Date: 2019/12/12 10:20 */public class Main { private static Random random = new Random(); private static void quickSort(int[] a原创 2020-08-13 13:25:29 · 367 阅读 · 0 评论 -
LeetCode_1188. 设计有限阻塞队列之Java实现
LeetCode_1188. 设计有限阻塞队列之Java实现class BoundedBlockingQueue { private final LinkedList<Integer> queue; private int count; private final ReentrantLock lock = new ReentrantLock(); // 队列是否为空的条件 private final Condition notEmpty =原创 2020-06-18 15:06:42 · 479 阅读 · 0 评论 -
LeetCode-146. LRU缓存机制 Java版
LeetCode_146. LRU缓存机制import java.util.HashMap;import java.util.Map;public class LRUCache { private Map<Integer, ListNode> map; /** * 双链表结点类 */ private class ListNode { private Integer key; private Integer原创 2020-05-17 18:59:51 · 163 阅读 · 0 评论 -
二叉树的前中后序、层次、之形遍历迭代与递归解法Java版
1、二叉树的前序遍历递归解法//二叉树前序遍历递归解法,时间复杂度O(n);空间复杂度O(n) public List<Integer> preorderTraversal(TreeNode root) { LinkedList<Integer> res = new LinkedList<>(); preorderTraversal(root, res); return res; } pri原创 2020-05-17 18:39:38 · 261 阅读 · 0 评论 -
面试题40. 最小的k个数
面试题40. 最小的k个数输入整数数组 arr ,找出其中最小的 k 个数。例如,输入4、5、1、6、2、7、3、8这8个数字,则最小的4个数字是1、2、3、4。示例 1:输入:arr = [3,2,1], k = 2输出:[1,2] 或者 [2,1]示例 2:输入:arr = [0,1,2,1], k = 1输出:[0]限制:0 <= k <= arr.length...原创 2020-03-20 14:26:55 · 108 阅读 · 0 评论 -
各种常见排序算法
//选择排序 private static int[] selectsort(int a[]) { for (int i = 0; i < a.length; i++) { for (int j = i+1; j < a.length; j++) { if (a[i]>a[j]) { ...原创 2018-04-12 22:06:01 · 193 阅读 · 0 评论 -
用链表实现一元多项式加减、求导(Java)
Lnode.javapackage PloyItem; /***@Author wzy*@Date 2017年11月12日*@Version JDK 1.8*@Description */ public class Lnode implements Comparable<Lnode>,Cloneable{ public double coef; ...原创 2018-04-12 22:00:21 · 1424 阅读 · 0 评论 -
堆排序(Java)
/** *@Author wzy *@Date 2017年11月15日 *@Version JDK 1.8 *///堆排序public class HeapSort { //构造小顶堆 static void adjustHeap(int a[],int n,int k) { int l=2*k+1;//左孩子 int r=2*k+2;/...原创 2018-04-12 21:53:16 · 153 阅读 · 0 评论 -
十进制正整数转十六进制(Java实现)
import java.util.Scanner;/***@Author wzy*@Date 2018年4月8日*@Version JDK 1.8*@Description Dem to Hex*/ public class run { public static void main(String[] args) { Scanner sc=new S...原创 2018-04-08 15:35:08 · 4173 阅读 · 0 评论 -
超长正整数(超出long表数范围)的相加算法(Java实现)
输入:代表超长正整数的字符串a代表超长正整数的字符串b输出:字符串a、b所代表的的正整数相加之后的字符串c代码:import java.util.Scanner;/***@Author wzy*@Date 2018年4月8日*@Version JDK 1.8*@Description */public class run { public...原创 2018-04-08 15:08:55 · 5423 阅读 · 0 评论