学习目标:
完成商品分类模块的开发,同时完成商品模块的添加商品的接口的开发。
通过基于堆的优先队列解决leetcode上的实际问题
学习内容:
完成了统一校验管理员的开发。
完成了删除目录、分页功能、利用递归实现用户列表分类的接口的开发。
同时利用Redis进行缓存加速响应,同时学习了IDEA的调试技巧
在商品模块中完成了添加商品接口的开发
了解了UUID的使用
完成了图片上传接口的开发,同时完成了图片资源映射的开发。
剑指Offer40:
class Solution {
public int[] getLeastNumbers(int[] arr, int k) {
//java标准库默认是最小堆,需要转化为最大堆
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
for (int i = 0; i < k; i++) {
pq.add(arr[i]);
}
for (int i = k; i < arr.length; i++) {
if (!pq.isEmpty()&&arr[i] < pq.peek()) {
pq.remove();
pq.add(arr[i]);