小李小刘爱编程
码龄4年
关注
提问 私信
  • 博客:77,613
    社区:145
    77,758
    总访问量
  • 84
    原创
  • 2,342,486
    排名
  • 152
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:上海市
  • 加入CSDN时间: 2020-07-05
博客简介:

qq_49182770的博客

查看详细资料
个人成就
  • 获得83次点赞
  • 内容获得113次评论
  • 获得271次收藏
  • 代码片获得3,361次分享
创作历程
  • 68篇
    2022年
  • 16篇
    2021年
成就勋章
TA的专栏
  • 剑指offer
    2篇
  • SSM框架学习笔记
    8篇
  • 数据库
    8篇
  • 中间件
    6篇
  • leetcode入门篇
    29篇
  • leetcode基础篇
    24篇
兴趣领域 设置
  • 大数据
    mysql
  • 后端
    spring架构
创作活动更多

HarmonyOS开发者社区有奖征文来啦!

用文字记录下您与HarmonyOS的故事。参与活动,还有机会赢奖,快来加入我们吧!

0人参与 去创作
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

IO练习:获取文件中的数据,数据排序,将排序后的数据写入文件。

💕前面的话💞本篇是关于IO流的一个练习题:获取文件中的数据,然后进行数据排序,将排序后的数据写入文件中。✨欢迎关注🖱点赞🎀收藏⭐留言✒😘系列专栏:java学习🎨现在的播种,以后的收货🀄如果觉得博主的文章还不错的话,请三连支持一下博主哦package IO;import java.io.*;import java.util.*;import java.util.Map.Entry;public class TestIO { static HashMap<String,
原创
发布博客 2022.05.18 ·
733 阅读 ·
7 点赞 ·
10 评论 ·
10 收藏

必背的线程池知识你知道了吗?

线程池原理1、为什么要使⽤线程池使⽤线程池主要有以下三个原因:创建/销毁线程需要消耗系统资源,线程池可以复⽤已创建的线程。控制并发的数量。并发数量过多,可能会导致资源消耗过多,从⽽造成服务器 崩溃。(主要原因)可以对线程做统⼀管理。2 线程池的原理Java中的线程池顶层接⼝是 Executor 接⼝, ThreadPoolExecutor 是这个接⼝的实 现类。我们先看看 ThreadPoolExecutor 类。2.1 ThreadPoolExecutor提供的构造⽅法⼀共有四个构
原创
发布博客 2022.05.12 ·
705 阅读 ·
14 点赞 ·
26 评论 ·
12 收藏

【原理篇】再次带你进入多线程的世界

1、Java内存模型基础知识1.1并发编程模型的两个关键问题线程间如何通信?即:线程之间以何种机制来交换信息线程间如何同步?即:线程以何种机制来控制不同线程间操作发⽣的相对顺序有两种并发模型可以解决这两个问题:消息传递并发模型共享内存并发模型这两种模型之间的区别如下表所示:在Java中,使⽤的是共享内存并发模型。1.2 Java内存模型的抽象结构1.2.1 运⾏时内存的划分先谈⼀下运⾏时数据区,下⾯这张图相信⼤家⼀点都不陌⽣:对于每⼀个线程来说,栈都是私有的,⽽堆是共有的
原创
发布博客 2022.05.10 ·
606 阅读 ·
10 点赞 ·
10 评论 ·
7 收藏

【基础篇】一篇文章带你了解多线程的魅力

1、 Java多线程⼊⻔类和接⼝1.1Thread类和Runnable接⼝JDK提供了 Thread 类和 Runnalble 接⼝来让我们 实现⾃⼰的“线程”类。继承 Thread 类,并重写 run ⽅法;实现 Runnable 接⼝的 run ⽅法;1.1.1继承Thread类⾸先是继承 Thread 类:public static class MyThread extends Thread{ @Override public void run() {
原创
发布博客 2022.05.08 ·
666 阅读 ·
10 点赞 ·
18 评论 ·
10 收藏

MySQL面试有这一篇就够了

MySQL面试常见知识点1、 MySQL常用的存储引擎有什么?它们有什么区别?InnoDBInnoDB是MySQL的默认存储引擎,支持事务、行锁和外键等操作。MyISAMMyISAM是MySQL5.1版本前的默认存储引擎,MyISAM的并发性比较差,不支持事务和外键等操 作,默认的锁的粒度为表级锁。InnoDBMyISAM外键支持不支持事务支持不支持锁支持表锁和行锁支持表锁可恢复性根据事务日志进行恢复无事务日志表结构数据和索
原创
发布博客 2022.05.05 ·
2448 阅读 ·
18 点赞 ·
28 评论 ·
116 收藏

剑指 Offer 24. 反转链表

定义一个函数,输入一个链表的头节点,反转该链表并输出反转后链表的头节点。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x)
原创
发布博客 2022.03.04 ·
8226 阅读 ·
0 点赞 ·
1 评论 ·
0 收藏

剑指 Offer 06. 从尾到头打印链表

输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]代码/** * Definition for singly-linked list. * public class ListNode { * int val; * ListNode next; * ListNode(int x) { val = x; } * } */class Solution { publi
原创
发布博客 2022.03.04 ·
338 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode基础之动态规划——62. 不同路径

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。1. 向右 -> 向下 -> 向下2. 向下 -> 向下 -> 向右3. 向下
原创
发布博客 2022.02.28 ·
343 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode基础之动态规划——55. 跳跃游戏

给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个下标。示例 1:输入:nums = [2,3,1,1,4]输出:true解释:可以先跳 1 步,从下标 0 到达下标 1, 然后再从下标 1 跳 3 步到达最后一个下标。示例 2:输入:nums = [3,2,1,0,4]输出:false解释:无论怎样,总会到达下标为 3 的位置。但该下标的最大跳跃长度是 0 , 所以永远不可能到达最后一
原创
发布博客 2022.02.28 ·
107 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode基础之动态规划——213. 打家劫舍 II

你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都 围成一圈 ,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警 。给定一个代表每个房屋存放金额的非负整数数组,计算你 在不触动警报装置的情况下 ,今晚能够偷窃到的最高金额。示例 1:输入:nums = [2,3,2]输出:3解释:你不能先偷窃 1 号房屋(金额 = 2),然后偷窃 3 号房屋(金额 = 2)
原创
发布博客 2022.02.27 ·
100 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode基础之回溯——22. 括号生成

数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。示例 1:输入:n = 3输出:["((()))","(()())","(())()","()(())","()()()"]示例 2:输入:n = 1输出:["()"]代码class Solution { List<String> res=new ArrayList<>(); public List<String> generatePa
原创
发布博客 2022.02.26 ·
8527 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

【谷粒商城】npm install 报错问题

1、node.js 与 node-sass之间版本问题 例如 node12 使用 npm install node-sass@4.14即可2、没装python以及环境配置下载python3.0以上的 一键配置即可 https://www.python.org/downloads/3、 卸载残留问题你可能按着评论区或视频的东西安装试过了,要注意执行我上面代码时要先清依赖残留,否则安装不上npm rebuild node-sassnpm uninstall node-sass
原创
发布博客 2022.02.26 ·
712 阅读 ·
2 点赞 ·
1 评论 ·
0 收藏

LeetCode基础之递归 / 回溯——40. 组合总和 II

给定一个候选人编号的集合 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用 一次 。注意:解集不能包含重复的组合。 示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,输出:[[1,1,6],[1,2,5],[1,7],[2,6]]示例 2:输入: candidates = [2,5,2,1,
原创
发布博客 2022.02.25 ·
5193 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode基础之递归 / 回溯——39. 组合总和

给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。candidates 中的 同一个 数字可以 无限制重复被选取 。如果至少一个数字的被选数量不同,则两种组合是不同的。 对于给定的输入,保证和为 target 的不同组合数少于 150 个。示例 1:输入:candidates = [2,3,6,7], targ
原创
发布博客 2022.02.25 ·
3813 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

LeetCode基础之递归 / 回溯——90. 子集 II

给你一个整数数组 nums ,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。返回的解集中,子集可以按 任意顺序 排列。示例 1:输入:nums = [1,2,2]输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]示例 2:输入:nums = [0]输出:[[],[0]]代码class Solution { List<List<Integer>> res=new ArrayList&l
原创
发布博客 2022.02.24 ·
145 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode基础之递归 / 回溯——78. 子集

给你一个整数数组 nums ,数组中的元素 互不相同 。返回该数组所有可能的子集(幂集)。解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。示例 1:输入:nums = [1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例 2:输入:nums = [0]输出:[[],[0]]代码class Solution { List<List<Integer>> res=new ArrayL
原创
发布博客 2022.02.24 ·
180 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode基础之广度优先搜索 / 深度优先搜索——130. 被围绕的区域

给你一个 m x n 的矩阵 board ,由若干字符 'X' 和 'O' ,找到所有被 'X' 围绕的区域,并将这些区域里所有的 'O' 用 'X' 填充。示例 1:输入:board = [["X","X","X","X"],["X","O","O","X"],["X","X","O","X"],["X","O","X","X"]]输出:[["X","X","X","X"],["X","X","X","X"],["X","X","X","X"],["X","O","X","X"]]解释:被
原创
发布博客 2022.02.24 ·
242 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode基础之广度优先搜索 / 深度优先搜索——572. 另一棵树的子树

给你两棵二叉树 root 和 subRoot 。检验 root 中是否包含和 subRoot 具有相同结构和节点值的子树。如果存在,返回 true ;否则,返回 false 。二叉树 tree 的一棵子树包括 tree 的某个节点和这个节点的所有后代节点。tree 也可以看做它自身的一棵子树。示例 1:输入:root = [3,4,5,1,2], subRoot = [4,1,2]输出:true示例 2:输入:root = [3,4,5,1,2,null,null,null,nul
原创
发布博客 2022.02.23 ·
98 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode基础之广度优先搜索 / 深度优先搜索——117. 填充每个节点的下一个右侧节点指针 II

给定一个二叉树struct Node { int val; Node *left; Node *right; Node *next;}填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 NULL。初始状态下,所有 next 指针都被设置为 NULL。示例:输入:root = [1,2,3,4,5,null,7]输出:[1,#,2,3,#,4,5,7,#]解释:给定二叉树如图 A 所示,你的函数应该填充它
原创
发布博客 2022.02.22 ·
112 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

LeetCode基础之广度优先搜索 / 深度优先搜索——547. 省份数量

有 n 个城市,其中一些彼此相连,另一些没有相连。如果城市 a 与城市 b 直接相连,且城市 b 与城市 c 直接相连,那么城市 a 与城市 c 间接相连。省份 是一组直接或间接相连的城市,组内不含其他没有相连的城市。给你一个 n x n 的矩阵 isConnected ,其中 isConnected[i][j] = 1 表示第 i 个城市和第 j 个城市直接相连,而 isConnected[i][j] = 0 表示二者不直接相连。返回矩阵中 省份 的数量。示例 1:输入:isC
原创
发布博客 2022.02.21 ·
285 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多