- 博客(15)
- 收藏
- 关注
原创 编程学习资料分享
链接: https://pan.baidu.com/s/1xK2GIQHeqTxlTVPemSl3dg 提取码: XL99 复制这段内容后打开百度网盘手机App,操作更方便哦。最近收集了一些以下编程学习资料,免费给大家分享,一起学习,一起进步。
2024-12-11 14:46:22
410
原创 JDK17增强型伪随机数生成器(PRNG)
JDK 17 引入了全新的接口及其多种实现,旨在提供更高效、更安全、更灵活的伪随机数生成能力。这些改进不仅提升了性能,还增强了线程安全性、并行计算支持以及加密级别的随机数生成。本文将深入探讨 JDK 17 中的增强型 PRNG,详细介绍其设计原理、实现方式、性能优化以及应用场景。
2024-12-06 17:05:41
651
转载 捕获黑皇后需要的最少移动次数(Leetcode每日一题)【内含免费的编程资料】
现有一个下标从1开始的8 x 8棋盘,上面有 3 枚棋子。给你6个整数 a 、b 、c 、d 、e 和 f ,其中:(a, b) 表示白色车的位置。(c, d) 表示白色象的位置。(e, f) 表示黑皇后的位置。假定你只能移动白色棋子,返回捕获黑皇后所需的最少移动次数。请注意:车可以向垂直或水平方向移动任意数量的格子,但不能跳过其他棋子。象可以沿对角线方向移动任意数量的格子,但不能跳过其他棋子。如果车或象能移向皇后所在的格子,则认为它们可以捕获皇后。皇后不能移动。
2024-12-05 14:17:29
65
原创 棋盘上有效移动组合的数目(Leetcode每日一题)【内含免费的编程资料】
后:可以水平竖直或者斜对角 从 (r, c) 沿着方向 (r+1, c),(r-1, c),(r, c+1),(r, c-1),(r+1, c+1),(r+1, c-1),(r-1, c+1),(r-1, c-1) 移动。象:可以斜对角 从 (r, c) 沿着方向 (r+1, c+1),(r+1, c-1),(r-1, c+1),(r-1, c-1) 移动。车:可以水平或者竖直 从 (r, c) 沿着方向 (r+1, c),(r-1, c),(r, c+1) 或者 (r, c-1) 移动。
2024-12-04 15:34:51
654
原创 检查棋盘方格颜色是否相同(Leetcode每日一题)
这段代码中, checkTwoChessboards方法首先将字母列转换成从1开始的整数,因为国际象棋的列是从 'a' 到 'h',所以我们需要将 'a' 转换为 1,'b' 转换为 2,以此类推。要实现这个功能,可根据接收两个字符串参数coordinate1和 coordinate2,然后根据它们的坐标来判断这两个方格的颜色是否相同。输入:coordinate1 = "a1", coordinate2 = "c3"输入:coordinate1 = "a1", coordinate2 = "h3"
2024-12-03 16:02:16
233
原创 数据结构学习-逻辑结构的二叉搜索树(BST)
二叉搜索树是一种高效的动态数据结构,适用于需要频繁进行查找、插入和删除操作的场景。通过维护节点之间的排序关系,二叉搜索树能够在大多数情况下保持较高的操作效率。在实际应用中,通常会使用平衡二叉搜索树(如 AVL 树、红黑树)来保证树的高度平衡,从而进一步提高性能。希望这些详细的解释和示例代码能帮助你更好地理解和应用二叉搜索树。
2024-10-29 10:33:40
751
原创 LeetCode算法学习-生成不含相邻零的二进制字符串(解题思路过程)
回溯法是一种通过逐步构建解来解决问题的方法。如果发现当前选择无法导致有效的解,就撤销上一步的选择,尝试其他选择。这种方法通常用于解决组合优化问题、约束满足问题等。
2024-10-29 09:56:04
778
原创 数据结构学习-线性结构(数组、链表、栈、队列)
线性结构是数据结构中的一种基本类型,它是一种数据元素之间存在一对一关系的数据结构。在线性结构中,每个元素(除了第一个和最后一个)都有一个直接前驱和一个直接后继。常见的线性结构有数组、链表、栈和队列等。
2024-10-28 15:19:18
1160
原创 LeetCode算法学习-缺失的第一个正数(解题思路过程)
给你一个未排序的整数数组nums,请你找出其中没有出现的最小的正整数。请你实现时间复杂度为O(n)并且只使用常数级别额外空间的解决方案。
2024-10-28 10:14:52
1163
原创 LeetCode算法学习-二叉树中的最大路径和(解题思路过程)
这种方法确保了每个节点只被访问一次,因此时间复杂度为 O(n),其中 n 是树中节点的数量。空间复杂度取决于递归栈的深度,最坏情况下为 O(n)。我们先从一个简单的例子开始,然后再看一个稍微复杂一点的例子。被定义为一条节点序列,序列中每对相邻节点之间都存在一条边。最优路径是 15 -> 20 -> 7 ,路径和为 15 + 20 + 7 = 42。最优路径是 2 -> 1 -> 3 ,路径和为 2 + 1 + 3 = 6。节点,且不一定经过根节点。是路径中各节点值的总和。给你一个二叉树的根节点。
2024-10-26 08:00:00
763
原创 LeetCode算法学习-排列序列(解题思路过程)
给出集合,其所有元素共有n!种排列。按大小顺序列出所有排列情况,并一一标记,当n = 3给定n和k,返回第k个排列。
2024-10-25 14:57:53
339
1
原创 java8-Lambda学习笔记
Lambda表达式lambda表达式简介 lambda表达式是从java8开始引入的,目的主要是为了简化代码,允许把函数作为⼀个⽅法的参数传递进⽅法中。在java8之前通常使用的是匿名类,但匿名类的问题是:如果匿名类的实现非常简单(例如仅包含一个方法的接口),则匿名类的语法可能看起来笨拙且不清楚,而且不能将一个函数(方法)作为参数传递给另一个方法。而使用Lambda表达式使您能够执行此操作,将功能视为方法参数,或将代码视为数据。 Lambda表达式是⼀种匿名函数(对Java⽽⾔这并不完全准确)
2020-08-14 15:34:13
197
原创 解决Spring boot项目用feign无法发起PATCH请求问题
用注解@EnableFeignClients启用feign客户端 添加一个Feign客户端类,并添加一个发起PATCH请求的方法 添加依赖: <dependency> <groupId>io.github.openfeign</groupId> <artifactId>feign-httpclient</artifactId> <version>10.2.3</versio...
2020-05-11 14:19:53
1599
1
原创 算法-排序:快速排序
编程里算法有很多,排序的算法也多种(冒泡算法、选择排序、插入排序、希尔排序、归并排序、快速排序、桶排序),各种排序也都有优缺点,特此分享出我的学习笔记,希望大家一起来学习探讨快速排序思想设置一个基准数,通过一趟排序以基准数为分界点将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进...
2020-02-09 15:29:01
190
原创 算法-排序:冒泡
编程里算法有很多,排序的算法也多种(冒泡算法、选择排序、插入排序、希尔排序、归并排序、快速排序、桶排序),各种排序也都有优缺点,特此分享出我的学习笔记,希望大家一起来学习探讨冒泡算法思想每次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来,重复进行多次,直到没有相邻元素需要交换为止。JAVA代码示例package demo;/** * 冒泡排序:每次比...
2020-02-02 16:02:18
184
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人