算法
up_owner
笔记
展开
-
环形列表(快慢指针法)
/** * Definition for singly-linked list. * class ListNode { * int val; * ListNode next; * ListNode(int x) { * val = x; * next = null; * } * } */public class Solution { public boolean hasCycle(ListNode head) {原创 2021-05-14 11:32:24 · 88 阅读 · 0 评论 -
手撕快速排序
public class QuickSort { public void quickSort(int[] arr){ sort(arr,0,arr.length-1); } public void sort(int[] arr ,int left ,int right){ if(left<right){ int pivot=partition(arr, left, right); sort(arr,原创 2021-05-13 16:11:06 · 89 阅读 · 0 评论 -
java 分割字符串 使每个子串都是一个回文串
给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。返回 s 所有可能的分割方案。示例:输入: "aab"输出:[ ["aa","b"], ["a","a","b"]]题目来自leetcodestatic List<List<String>> listList = new ArrayList<>(); p...原创 2019-09-28 13:07:23 · 1207 阅读 · 0 评论 -
leetcode 合并两个有序数组
给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 ...原创 2019-09-27 10:17:02 · 81 阅读 · 0 评论 -
赫夫曼树(哈弗曼树) 也称霍夫曼树 huffmanTree java实现
// 构建赫夫曼树 public static void huffmantrees(ArrayList<Node> list) { while (list.size() > 1) { // 对节点进行排序 Collections.sort(list); // 集合第一个是左子树 ...原创 2019-09-11 16:44:44 · 116 阅读 · 0 评论 -
java实现二叉树先序,中序,后序遍历
class BinartTree { // 先序遍历 public void preOrder(TreeNode root) { System.out.println(root); if (root.getLeft() != null) { preOrder(root.getLeft()); } ...原创 2019-09-05 16:58:25 · 120 阅读 · 0 评论 -
约瑟夫环形列java实现
//约瑟夫环形表public class Josepfu {public static void main(String[] args) {// TODO Auto-generated method stubJosepfuDemo demo = new JosepfuDemo();demo.addBoy(5);demo.Iteroter();demo.out(1, 2...原创 2019-09-04 14:28:56 · 127 阅读 · 0 评论 -
斐波那契查找算法
//斐波那契查找算法public class FibonacciSearch {public static void main(String[] args) {// TODO Auto-generated method stub// 需要查找的顺序表int arr[] = { 1, 4, 8, 14, 78, 90 };// 斐波那契数列//int[] f = f();...原创 2019-09-04 14:24:15 · 185 阅读 · 0 评论 -
双向链表实现LRU(最近最少使用)
public class LRUCache { class DLinkedNode { int key; int value; DLinkedNode prev; DLinkedNode next; public DLinkedNode() {} public DLinkedNode(int _key, int _value) {key = _key; value = _value;} }原创 2021-05-13 15:14:31 · 100 阅读 · 0 评论