LeetCode 33 81 搜索旋转排序数组(Java)
思路:按照上图两种情形分别进行二分查找 public int search(int[] nums, int target) { if(nums==null||nums.length<1) return -1; int left = 0...
思路:按照上图两种情形分别进行二分查找 public int search(int[] nums, int target) { if(nums==null||nums.length<1) return -1; int left = 0...
思路:就是模拟杀手杀人的过程,新开一个数组用于标记被杀死的位置。然后生成新的数组,直到平安夜来临。 public class Main { public static void main(String[] args) { Scanner i...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
思路: 1、 简单点的,暴力就完事了,但是会超时 2、 利用滑动窗口思想,利用List模拟一个窗口,在窗口中利用map存储数字出现的次数,每次窗口移动遍历map判断是否有数出现的次数达到阈值t //暴力法 只能通过82% public st...
LRU(Least recently used,最近最少使用)算法根据数据的历史访问记录来进行淘汰数据,其核心思想是“如果数据最近被访问过,那么将来被访问的几率也更高”。 import java.util.HashMap; import j...
26进制加法(一) ‘a’-‘z’代表十进制的0-25,求26进制加法。例如 ‘z’+’bc’= ‘cb’ 博主思路: ...
Heap是一种数据结构它是一个完全二叉树具有以下的特点: Min-heap: 父节点的值小于或等于子节点的值; Max-heap: 父节点的值大于或等于子节点的值; public class minAndMaxheap { //大根堆和小根...
学习数据结构的时候遇到一个经典的回文链表问题 对于一个链表,请设计一个时间复杂度为O(n),额外空间复杂度为O(1)的算法,判断其是否为回文结构。 如果有链表反转的基础,实现链表回文判断就简单的多,如果对反转链表不熟悉,可以参考这篇博客。 ...
看到一个算法题—>给定一个字符串,问是否能通过添加一个字母将其变为回文串 贴上自己的实现思路: 这个添加字符可以是添在开头,也可以是添加在队尾,也可能是添加在中间 能通过添加一个字符使字符串变成回文字符串,也就意味着如果删掉字符串开头或结尾...
理解单链表的反转(java实现) 要求很简单,输入一个链表,反转链表后,输出新链表的表头。 反转链表是有2种方法(递归法,遍历法)实现的,面试官最爱考察的算法无非是斐波那契数列和单链表反转,递归方法实现链表反转比较优雅,但是对于不了解递...
一、volatile关键字 volatile关键字的目的是告诉虚拟机: 1、每次访问变量时,总是获取主内存的最新值; 2、每次修改变量后,立刻回写到主内存。 volatile关键字解决的是可见性问题:当一个线程修改了某个共享变量的值,其他线...