自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 LeetCode链表#19删除链表的倒数第N个节点

题目给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?来源:力扣(LeetCode)链接:https://leetcode-cn....

2020-03-16 16:32:34 120

原创 LeetCode链表#21合并两个有序链表

题目将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/merge-two-sorted-lists著作权归...

2020-03-16 15:56:31 117

原创 LeetCode链表#2两数相加C语言

LeetCode#2 两数相加题目:给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)...

2020-03-16 15:44:46 628 2

原创 LeetCode215分治法快速选择

在未排序的数组中找到第 k 个最大的元素。请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素。示例 1:输入: [3,2,1,5,6,4] 和 k = 2输出: 5示例 2:输入: [3,2,3,1,2,4,5,5,6] 和 k = 4输出: 4说明:你可以假设 k 总是有效的,且 1 ≤ k ≤ 数组的长度。来源:力扣(LeetCode)链接:...

2020-02-07 18:21:58 477

原创 主定理证明

递归树推导设总层数为t 所以tbn=1\frac{t}{b^n}=1bnt​=1 (n规模大的问题,每次分为原问题的1/b ,t次分成1)t=logbnt=log_{b}nt=logb​n总代价假定a是b(b>1)的幂主定理的三种情况分别对应这个式子的的三种情况1.树的总代价由叶结点的代价决定,2.树的总代价均匀分布在树的所有层次上3.树的总代价由根结点的代价决定cas...

2020-02-06 21:55:09 965

原创 分治法之矩阵乘法

分治法及Strassen方法做矩阵乘法矩阵乘法:我们先约定用于乘法的矩阵与结果矩阵都是nn的矩阵比较直观的算法就是<算法导论>中给出的伪代码使用三个循环来完成:SQUARE-MATRIX-MULTIPLY(A,B)1 n = A.rows2 let C be a new n×n matrix3 for i = 1 to n4 for j = 1 to n5 ...

2020-02-06 15:18:48 4618 2

原创 分治法POJ 1854

分治法:POJ1854 Evil Straw Warts Live问题:DescriptionA palindrome is a string of symbols that is equal to itself when reversed. Given an input string, not necessarily a palindrome, compute the number of ...

2020-02-02 20:56:16 625

原创 分治法快速排序

分治法快速排序快速排序是最常用的排序算法之一快速排序也是采用了分治的思想,有如下几个过程设i=array[0] 也就是待排序的数组的第一个元素 通过双指针的循环使得比 i小的数都在i的左边,所以比i大的数都在i的右边(等于i的我们不关心)在左右出现都可以。这一步双指针操作,只需要线性O(n)的时间就可以完成,因为只遍历一次数组把k左边的部分进行快速排序(递归过程)把k右边的部分进行快速...

2020-02-02 00:50:51 1404

原创 递归打印全排列(java代码)

递归法打印全排列例如 123的全排列有 123 132 213 231 312 321我们可以用递归的思想,将问题简化当存在n个数据 array[n]时第一个元素可以是n中的任意一个元素,我们采用一个函数swap 将第一个数与后面数交换位置,就可以得到第一个位置不同的情况。递归调用 printArragne(int [ ] array , int k , int n )方法array为...

2020-01-31 21:17:19 836

原创 分治法之归并排序

分治法归并排序分治法:为解决一个问题,将原问题分解为几个规模较小但类似于原问题的子问题,递归求解这些子问题,然后再合并这些子问题的解来建立原问题的解。分治模式在每层递归时都有三个步骤:分解:原问题为若干字问题,这些子问题是原问题的规模较小的实例这些子问题,递归地求解各子问题。然而,若子问题的规模足够中小,则直接求解。合并这些子问题的解成原问题的解归并排序就是利用了分治的思想;...

2020-01-30 01:11:32 286

原创 分治法求最大子数组(java代码)

最大子数组给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:[-20,17,8,-6,10,-12,-18,-30]连续子数组 [17,8,-6,10]的和最大,为 29。该题目就是《算法导论》分治的第一例题,可以在原书上找到答案。最大子数组,则就是给定数组中和最大的一个子段采用分治法即可取给定数组的中间位 即可分成两个子数...

2020-01-27 00:11:44 971

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除