209.长度最小的子数组 - Java 滑动窗口原题链接:https://leetcode.cn/problems/minimum-size-subarray-sum/
题解维护一个滑动窗口,并维持以下原则:
right一直向右扩展至sum>...
原题地址:https://leetcode.cn/problems/search-in-rotated-sorted-array/
题解参照官方题解思路
若[begin,mid]为有序,且nums[begin]<=target&l...
原题地址:https://leetcode.cn/problems/find-first-and-last-position-of-element-in-sorted-array/
题解实现一个二分查找,原则为:如果能找到这个元素则返回这个元素的最...
原题地址:https://leetcode.cn/problems/interval-list-intersections/
题解每次用area1和area2两个指针维护当前区间,若area1和area2有交集,则有
交集左边界必然是area1和...
原题地址:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/
题解思路源自官方题解
开一个selled数组,selled[n]表示第n天卖出时的最高成交价
用一个min记录下遍...
原题链接:https://leetcode.cn/problems/count-subarrays-with-median-k/
题解基本思路:对于求中位数而言,我们可以先将比k大的数字转换成1,比k小的数字转换成-1;k转换成0,此时当子数组的中...
悲观锁
悲观锁总是假设最坏的情况,即:共享资源只要被多线程访问就必定会出问题,因此保证同一时间永远只有一个线程在操作该资源
悲观锁适用于写操作较多的情况下
对于悲观锁而言,只有当前线程使用完毕并释放了该资源,该资源才会被转让给其他线程
在Java...
原题链接:https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/
题解方法1:双指针左指针和右指针从数组两边开始遍历当和小于target时左指针++,反之右指针–
1234567...
原题链接:https://leetcode.cn/problems/rotate-array/
题解方法1:写一个循环右移索引的函数,让pos不断右移k位,每次移位和begin交换位置,直到pos回归到begin为止
这种情况会有遍历不完全的情况,...
创建线程
在一个Java程序中创建线程有如下几种方式:
继承Thread类
123456class MyThread extends Thread { @Override public void run() { ...