自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LeetCode-寻找两个正序数组的中位数

LeetCode-寻找两个正序数组的中位数题目:给定两个大小为 m 和 n 的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。其中:nums1.length == m,nums2.length == n,0 <= m <= 1000,0 <= n <= 1000,1 <= m + n <= 2000,...

2021-02-24 11:06:10 191

原创 对于目前市面上主流的语言总结——小白篇

本类文章之对于小白,属于我的个人总结,如果有什么不足,希望大家提出来。众所周知,现在主流的一些语言有:C、C#、C++、Java、JavaScript、PHP、Python。下面我就简单说一下这几种语言的优点缺点以及主要应用情况。C语言:C是多用途的、重要的计算机程序语言,支持结构化编程、语法变量范围和递归。是开发固件或移动应用的理想语言。通常被用于编写系统软件。 用途:C可...

2019-03-11 04:42:09 2411

原创 算法总结

一、          递归与分治1)       定义:程序直接或间接调用自身的编程技巧称为递归算法,而且递归分为直接调用和间接调用,它通常将复杂的问题层层转化为一个与原问题相似的但是规模相对较小的问题来求解。分治策略是对于一个规模为n的问题,若该问题可以容易地解决(比如说规模n较小)则直接解决,否则将其分解为k个规模较小的子问题,这些子问题互相独立且与原问题形式相同。分治法的适用条件:

2017-11-08 10:27:07 394

原创 Lintcode-动态规划-最长上升连续子序列

最长上升连续子序列 给定一个整数数组(下标从 0 到 n-1, n 表示整个数组的规模),请找出该数组中的最长上升连续子序列。(最长上升连续子序列可以定义为从右到左或从左到右的序列。)注意事项 time样例 给定 [5, 4, 2, 1, 3], 其最长上升连续子序列(LICS)为 [5, 4, 2, 1], 返回 4.给定 [5, 1, 2, 3, 4], 其最长上升连续子序列(LICS)为 [1, 2, 3, 4], 返回 4.

2017-10-29 21:04:01 476

原创 Lintcode-动态规划-不同路径二

不同的路径 II "不同的路径" 的跟进问题:现在考虑网格中有障碍物,那样将会有多少条不同的路径?网格中的障碍和空位置分别用 1 和 0 来表示。注意事项 m 和 n 均不超过100样例 如下所示在3x3的网格中有一个障碍物:[ [0,0,0], [0,1,0], [0,0,0] ] 一共有2条不同的路径从左上角到右下角。

2017-10-29 20:36:54 262

原创 Lintcode-动态规划-不同路径

不同的路径 有一个机器人的位于一个 m × n 个网格左上角。机器人每一时刻只能向下或者向右移动一步。机器人试图达到网格的右下角。问有多少条不同的路径?注意事项 n和m均不超过100样例 给出 m = 3 和 n = 3, 返回 6.给出 m = 4 和 n = 5, 返回 35.

2017-10-29 19:44:55 397

原创 Lintcode-动态规划-爬楼梯

爬楼梯 假设你正在爬楼梯,需要n步你才能到达顶部。但每次你只能爬一步或者两步,你能有多少种不同的方法爬到楼顶部?样例 比如n=3,1+1+1=1+2=2+1=3,共有3种不同的方法返回 3

2017-10-29 19:31:28 278

原创 Lintcode-动态规划-最小路径和

最小路径和 给定一个只含非负整数的m*n网格,找到一条从左上角到右下角的可以使数字和最小的路径。注意事项 你在同一时间只能向下或者向右移动一步

2017-10-29 19:17:15 324

原创 Lintcode-动态规划-数字三角形

数字三角形 给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。注意事项 如果你只用额外空间复杂度O(n)的条件下完成可以获得加分,其中n是数字三角形的总行数。样例 比如,给出下列数字三角形:[ [2], [3,4], [6,5,7], [4,1,8,3] ] 从顶到底部的最小路径和为11 ( 2 + 3 + 5 + 1 = 11)。

2017-10-29 18:26:38 286

原创 总结—贪心算法

贪心算法总结

2017-10-10 16:11:46 459

原创 LintCode—贪心—落单的数

落单的数 给出2*n + 1 个的数字,除其中一个数字之外其他每个数字均出现两次,找到这个数字。样例 给出 [1,2,2,1,3,4,3],返回 4

2017-10-09 22:19:14 212

原创 LintCode-贪心-主元素

主元素 给定一个整型数组,找出主元素,它在数组中的出现次数严格大于数组元素个数的二分之一。注意事项 You may assume that the array is non-empty and the majority number always exist in the array.样例 给出数组[1,1,1,1,2,2,2],返回 1

2017-10-09 21:59:07 199

原创 Lintcode-贪心-最大子数组和最小子数组

最大子数组 给定一个整数数组,找到一个具有最大和的子数组,返回其最大和。注意事项 子数组最少包含一个数样例 给出数组[−2,2,−3,4,−1,2,1,−5,3],符合要求的子数组为[4,−1,2,1],其最大和为6最小子数组 给定一个整数数组,找到一个具有最小和的子数组。返回其最小和。注意事项 子数组最少包含一个数字样例 给出数组[1, -1, -2, 1],返回 -3

2017-10-09 21:42:21 596

原创 LintCode-分治-二叉树中的最大路径和

二叉树中的最大路径和 给出一棵二叉树,寻找一条路径使其路径和最大,路径可以在任一节点中开始和结束(路径和为两个节点之间所在路径上的节点权值之和)样例 给出一棵二叉树: 1 / \ 2 3返回 6

2017-09-28 16:36:33 1569

原创 LintCode-分治-验证二叉查找树

验证二叉查找树 给定一个二叉树,判断它是否是合法的二叉查找树(BST)一棵BST定义为:节点的左子树中的值要严格小于该节点的值。节点的右子树中的值要严格大于该节点的值。左右子树也必须是二叉查找树。一个节点的树也是二叉查找树。样例 一个例子: 2 / \1 4 / \ 3 5上述这棵二叉树序列化为 {2,1,4,#,#,3,5}.

2017-09-28 16:25:17 246

原创 LintCode-分治-合并k个排序链表

合并k个排序链表合并k个排序链表,并且返回合并后的排序链表。尝试分析和描述其复杂度。样例 给出3个排序链表[2->4->null,null,-1->null],返回 -1->2->4->null

2017-09-28 16:22:08 939

原创 LintCode-分治-寻找旋转排序数组中的最小值 II

寻找旋转排序数组中的最小值 II 假设一个旋转排序的数组其起始位置是未知的(比如0 1 2 4 5 6 7 可能变成是4 5 6 7 0 1 2)。你需要找到其中最小的元素。数组中可能存在重复的元素。 注意事项 The array may contain duplicates.样例 给出[4,4,5,6,7,0,1,2]  返回 0

2017-09-28 16:08:02 324

原创 lintcode-分治-x的n次幂

x的n次幂 实现 pow(x,n)注意事项 不用担心精度,当答案和标准输出差绝对值小于1e-3时都算正确样例 Pow(2.1, 3) = 9.261Pow(0, 1) = 0Pow(1, 0) = 1

2017-09-28 15:03:22 792

原创 LintCode-分治-Expression Expand

Expression Expand Given an expression s includes numbers, letters and brackets. Number represents the number of repetitions inside the brackets(can be a string or another expression).Please expand expression to be a string.Example s = abc3[a] return ab

2017-09-26 16:47:02 324

原创 递归总结

递归总结

2017-09-13 21:53:29 321

原创 lintcode-递归-前中后序遍历

二叉树的前序遍历 给出一棵二叉树,返回其节点值的前序遍历。二叉树的中序遍历 给出一棵二叉树,返回其节点值的中序遍历二叉树的后序遍历 给出一棵二叉树,返回其节点值的后序遍历

2017-09-03 17:57:39 198

原创 Lintcode-递归-93 平衡二叉树

平衡二叉树 给定一个二叉树,确定它是高度平衡的。对于这个问题,一棵高度平衡的二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过1。 样例 给出二叉树 A={3,9,20,#,#,15,7}, B={3,#,20,15,7}A) 3 B) 3 / \ \ 9 20 20 / \ / \ 15 7 15

2017-09-02 20:22:48 199

原创 Lintcode-递归-97 二叉树的最大深度

二叉树的最大深度 给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶子节点的距离。样例 给出一棵如下的二叉树: 1 / \ 2 3 / \ 4 5这个二叉树的最大深度为3.

2017-09-02 20:02:48 349

原创 Lintcode-递归-177 把排序数组转换为高度最小的二叉搜索树

把排序数组转换为高度最小的二叉搜索树 给一个排序数组(从小到大),将其转换为一棵高度最小的排序二叉树。 注意事项 :There may exist multiple valid solutions, return any of them.样例 给出数组 [1,2,3,4,5,6,7], 返回 4 / \ 2 6 / \ / \1 3 5 7

2017-09-01 00:00:43 224

原创 lintcode-递归-简单-245子树

子树 有两个不同大小的二进制树: T1 有上百万的节点; T2 有好几百的节点。请设计一种算法,判定 T2 是否为 T1的子树。注意事项 :若 T1 中存在从节点 n 开始的子树与 T2 相同,我们称 T2 是 T1 的子树。也就是说,如果在 T1 节点 n 处将树砍断,砍断的部分将与 T2 完全相同。样例 下面的例子中 T2 是 T1 的子树: 1 3 / \ / T1 = 2 3 T2 = 4

2017-08-31 21:21:41 454

空空如也

空空如也

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

TA关注的人

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