算法
lmwis
这个作者很懒,什么都没留下…
展开
-
快排鲨我
package sort;import java.util.Arrays;/** * @Description: 快速排序 * @Author: lmwis * @Date 2021-03-05 14:47 * @Version 1.0 */public class QuickSort { void quickSort(int[] array,int left,int right){ // 表示只有一个数,递归终止 if(left>right){原创 2021-03-07 12:17:33 · 225 阅读 · 2 评论 -
常见算法基本概念
常见算法基本概念分治法经典应用动态规划经典应用贪心经典应用回溯分治法分治法的基本思想是将一个规模为n的问题分解为k个规模较小的子问题,这些子问题互相独立且与原问题相同,然后将各子问题的解合并得到原问题的解经典应用1.二分搜索2.大整数相乘3.归并排序,快速排序动态规划基本思想是将待求解问题分解成若干子问题,先求解子问题,再结合这些子问题得到原问题的解。与分治法不同的是,子问题往往不是相互独立的,所以动态规划会记录所有已解决子问题的答案基本要素:最优子结构+重叠子问题经典应用原创 2021-01-03 15:19:59 · 240 阅读 · 1 评论 -
Leetcode143. 重排链表 最优O(1)空间题解
Leetcode143. 重排链表题目解法取链表中点反转链表拼接题目给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→…你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。最优解法使用O(1)空间:取链表中点,截取,反转示例 1:给定链表 1->2->3->4, 重新排列为 1->4->2->3.解法分为三步:取链表中点 => 反转 => 拼接取链表中点快慢指原创 2020-12-30 21:16:16 · 94 阅读 · 0 评论