java算法
屎壳郎推球球
这个作者很懒,什么都没留下…
展开
-
基于ConcurrentHashMap实现一个自定义的缓存工具
基于ConcurrentHashMap实现一个自定义的缓存工具原创 2023-02-25 00:22:12 · 721 阅读 · 0 评论 -
在给定节点的情况下使用深度优先遍历算法正向搜索该节点的所有子节点以及反向搜索所有父节点
一、节点的实体类包含两个字段:1、该节点的id2、该节点的父亲idpublic class Node { private int id; private int parentId; public Node(int id, int parentId) { this.id = id; this.parentId = parentId; } public int getId() { return id; }原创 2020-11-28 01:27:16 · 477 阅读 · 0 评论 -
运用递归方法求解的一些问题
1、 取球问题,从n个球中去m个球(不放回)有多少种取法 public static int fun2(int n, int m) { if (n < m) return 0; if (n == m) return 1; if (m == 0) return 1; // 将某个球看做特殊球,将取法分为两类,取球的时候是否包括这个特殊球 int c = fun2(n - 1, m - 1) + fun2(n - 1, m); return c; }2、原创 2020-05-14 16:49:01 · 263 阅读 · 0 评论 -
LeetCode算法题
第一题:两数之和解题思路:1、创建一个Map2、for循环遍历整个数组3、用目标值减去数组中的每个数(res = target-arr[i])4、查询map中是否包含这个数(res)5、如果不包含将arr[i]加入到map中6、如果包含打印结果package leetcode;import java.util.Arrays;import java.util.HashMap;...原创 2020-05-10 18:32:45 · 192 阅读 · 0 评论 -
求一个数组中重复的数字,并说明重复的数字是几,同时统计重复的次数
题目:求一个数组中重复的数字,并说明重复的数字是几同时统计重复的次数思路:1、对数组进行排序(从小到大)。2、将排序后的数组中相邻的值做差,如果为0则表示这两个数重复。3、声明一个计数器,使用HashMap对重复的数字进行保存,key为重复的数字,value为重复的次数。原创 2020-03-18 22:09:22 · 1630 阅读 · 0 评论 -
设计一个栈,具有一个返回最小值的功能,且时间复杂度为常数。
题目:设计一个栈,具有一个返回最小值的功能,且时间复杂度为常数。注意,栈是有弹出数据功能的,本题的难点为当栈弹出一个数后依然能得到栈中剩余数中的最小值。解题思路:可以使用两个栈,第一个栈s1用于存放压入的数据,第二个栈s2用于存放当前入栈数据中的最小数,当s1pop元素时,s2也跟着pop元素。实现代码如下:public class MyStack{ Stack<Integer&g...原创 2020-03-18 15:45:23 · 207 阅读 · 0 评论 -
Java实现带泛型的双向链表
双向链表(Java实现)带泛型package whh.sort;public class LinkedList<T> { private int key; private LinkedList<T>head; private LinkedList<T>tail; private LinkedList<T>next; private Li...原创 2020-03-15 15:50:25 · 393 阅读 · 0 评论 -
字符串取反
递归实现字符串取反/*** * 递归将字符串abc,取反cba * * @param arr * @param index */ public static void fun4(char[] arr, int begin, int end) { if (end <= begin) { System.out.println(arr); return;...原创 2020-03-15 17:30:56 · 895 阅读 · 0 评论