自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (3)
  • 收藏
  • 关注

原创 【算法证明】NP完全性问题证明

一、问题描述证明如下问题是NP-完全的:给定一个无向图G=(V,E)和整数k,求G中一个规模为k的团以及一个规模为k的独立集,假定他们都是存在的。二、问题证明可以将最大团问题归约到此问题。假设要求任意图G(V, E)中大小为k 的团,可以在图G 中添加k 个相互独立的顶点,得到新图G'。这新加的k 个顶点保证了图G'存在大小为k 的独立集,同时又不影响到原图的团。(1)可以

2017-07-01 16:08:14 4128

原创 [538 Convert BST to Greater Tree]搜索二叉树的数值计算

一、题目解析给定一个搜索二叉树,然后将该搜索树的每一个节点Node[i]进行转换,其中具体转换规则为每一个节点的新值等于该二叉搜索树中所有比他大的节点值与其本身值的和,依次将该二叉树的每一个节点值按照以上规则进行重新计算,输出新二叉树的根节点,详情举例如下:Input: The root of a Binary Search Tree like this:

2017-06-23 17:44:07 315

原创 【LeetCode515 Find Largest Value in Each Tree Row】二叉树每行的最大值

一、问题描述给定一个二叉树,二叉树每一行都有一个最大值,将该值保存到一个数组中,最后输出该数组。举例如下:给定二叉树,输出数组[1,3,9]Input: 1 / \ 3 2 / \ \ 5 3 9 Output: [1, 3, 9]二、思路详解这一题是遍历树,给树的每

2017-06-23 17:04:18 737

原创 [LeetCode198 House Robber]数组中的动态规划求最值问题

一、题目解析给定一个数组,数组中的每一位相当于一座房子,数组值代表偷窃该房子所能得到的财富值。现在一个小偷要对这么多房子进行偷窃,规定偷窃连续的两个房子将会触发报警系统,算法需要输出小偷在这条街上偷窃所能得到的最大财富值。二、思路解析用动态规划的思路解决这个问题非常清晰,首先确定该问题的子问题。以n代表这条街上的房子数,由于无法偷窃相邻的两个房子,所以子问题即为money(n-2)+m

2017-06-23 16:58:29 408

原创 【LeetCode 300 Longest Increasing Subsequence】最长递增子序列

一、题目描述给定一个乱序整数序列,要求算法在这个乱序序列中找到最长递增子序列,并且返回长度。例如,给定序列[10,9,2,5,3,7,101,18],最长的递增子序列为[2,3,7,101],因此返回长度为4,最长递增子序列可以有多个,只是其拥有一个固定的最大长度值。算法要求在O(n^2)的时间复杂度中完成,也可以尽可能的优化到O(n log n)的时间复杂度。二、思路分析根据分治算法

2017-06-23 16:13:22 284

原创 【LeetCode 4. Median of Two Sorted Arrays】两个有序数组的中位数求解

一、题目描述给定两个已经排好序的数组nums1和nums2,长度分别是m和n,要求求出这两个有序数组合并后的新数组中的中位数,并要求整个程序实现的时间复杂度为O(log(m+n))。例如数组1 nums1=[1,3],给定的数组2为 nums2=[2],则输出数组[1,2,3]的中位数2.0,若是[1,2]和[3,4],则输出中位数2.5。二、思路解析这道题的难点在于控制时间复杂度,由

2017-06-11 14:54:52 381

原创 【LeetCode64 Minimum Path Sum】动态规划计算路径

一、问题描述给定一个m*n的方格,其中每一个方格中都有一个数字,现在从方格最左上方移动到最右下方,每次移动只能是想下移动或者向右移动。对于每一条路径都对应一个路径和的概念,即为该路径中所有方格中数字的和,需要求出最左上方到最右下方的所有路径中,路径和最小的那个,并且输出该路径和。二、思路解析这道题思路较为简单,同样的利用动态规划思路去解决问题,计算出从起点到m*n矩阵中每一个方格的最短

2017-06-10 21:38:20 365

原创 【LeetCode62 Unique Paths】动态规划计算路径

一、问题描述给定一个m*n的方格,起始点为方格的最左上方,终点为方格的最右下方,一个机器人只能向下以及向右移动,需要求出机器人从起始点到终点一共有多少种不重复的路径。问题的输入为方格的长度m以及宽度n,输出为不同路径的数量。二、思路分析这道题用动态规划的方法非常简单,计算出机器人从起点开始到方格内每一个格子的不同路径数,并将路径数量保存到一个相同大小的m*n的矩阵中M,那么我们只需要输

2017-06-10 21:20:28 719

原创 【LeetCode2 Add Two Numbers】链表求和详解

一、问题描述给定两个非空链表,其中链表中的每一个节点都是一个十以内的数字,链表的倒序数字串代表相应的十进制数值,因此每一个链表都会对应一个数值。题目中给定两个链表,需要求出其数值和,并将该数值和也相同的形式用链表表达,返回聊表的头结点。例如,给定聊表2->4->3和5->6->4,其代表的数值分别为342和465,数值和为907,将807用链表倒序表示为7->0->8,因此输出7->0->8链

2017-06-10 20:51:28 2483

原创 [leetCode-516Longest Palindromic Subsequence]最长回文子序列DP算法详解

一、题目描述问题较为简单,给定一个字符串,如"aasasbc",计算出该字符串中最长的回文子序列长,即为"aaa"的长度3,回文子序列是指顺序和倒序均为同一个字符串的序列,另外,要求所输入的字符串长度不大于1000。二、思路解析分治算法去解决这道题是第一思路,即对于一个长度为n的字符串,对应于一个分治算法的状态数组dp[n-1][n-1],该数组的值对应字符串中最长回文子序列的长度,如

2017-06-10 19:23:32 2367

原创 【Leetcode508】Most Frequent Subtree Sum题解

一、题目描述给定一个二叉树的根节点,定义二叉树中的子树和为该子树中所有节点值的和。二叉树中每一个节点都可以为子树根节点,所得子树和也包括该节点,输出所给二叉树中出现频率最高的子树和值,若存在连个或者多个值出现频率相同且最高,则将其以任意顺序输出。二、思路解析二叉树中每一个节点都对应一棵子树,因此每一个节点也对应一个子树和的值。这题可分为两个过程解决,第一步是求出所给二叉树中每一个节点所

2017-05-07 19:18:18 287

原创 [LeetCode63]Unique pathII动态规划解题示例

一、题目描述给定一个网格,网格中的每一个方格分别用0和1表示,其中0表示该方格可以通过,1表示该方格有障碍物,无法通过。因此该网格可以用一个n*m的矩阵M表示,其中矩阵元素只包括1和0,求M[0][0]到M[n-1][m-1]有多少种不同的路径可以到达,每次移动只能向下或者向右移动。比如给定方格为以下方格矩阵,[ [0,0,0], [0,1,0], [0,0,0]]则输出

2017-05-07 18:24:37 323

原创 【leetCode523】Continuous Subarry Sum

一、题目解析 这道题属于middle类型的题,题干为给一个非负的整数型数列,和一个整数k,若在该数列的子序列中,存在一个长度大于2且子序列和为k的整数倍的子序列,则返回true,否则返回false。例如,给序列[23,2,4,6,7]以及整数k=6,则返回true,因为子序列[2,4]是一个连续子序列且其和为6,能被k整除。二、思路分析这题本人思路较为简单,但是算法执行的速度非常慢。总提

2017-04-26 15:33:48 539

原创 【70 Climbing Stairs】菲波那切数列解决思路

一、原题描述一个n级台阶,每次只能登一级台阶或者两级台阶,输出攀登到台阶顶端一共有多少种不同的方法。You are climbing a stair case. It takes n steps to reach to the top.Each time you can either climb 1 or 2 steps. In how many distinct ways

2017-04-17 15:05:47 352

原创 【LeetCode450】Delete Node in BST二叉搜索树删除节点

一、原题重现题干中给定一个二叉搜索树(BST)的根节点以及一个给定的值,要求我们删除BST中与该值相等的节点,并且删除节点后,该树仍旧满足二叉搜索树的性质。下面举出一个例子root = [5,3,6,2,4,null,7]key = 3 5 / \ 3 6 / \ \2 4 7给定的有效值Key为 3,因此我们需要在该BST中删除值为3的节

2017-04-09 21:16:58 1297

原创 【Leetcode513 Find Bottom left Tree Value】树的遍历

一、题目解析本题题意清晰,已知一个二叉树,找出这颗二叉树中最左下方的那个节点,并返回节点值。意思即找出二叉树中最高层中左侧开始的第一个叶子节点,因此在代码解析中只要找出满足两个条件的点就可以。第一个是处于最高层叶子节点处,第二是本层所在的第一个叶节点,后面的代码实现也是围绕着这两条件对节点进行选择。例如:Input: 1 / \ 2 3

2017-03-31 14:12:22 326

原创 前端开发框架之AngularJS篇

1、  前端,是一种GUI软件在一个Web系统中,用户通过浏览器上网,输入URL的那一刻起,就意味着通过HTTP协议发送一个远程请求,服务端会将一个URL请求映射到一个具体的URL,然后将关联的资源分别返回给浏览器端,浏览器拿到了这些资源之后,负责解释、执行并呈现(渲染)。从本质上讲,所有Web应用都是一种运行在网页浏览器中的软件,这些软件的图形用户界面(Graphical User In

2017-03-31 13:38:45 5545

原创 【543 Diameter of Binary Tree】深度优先搜素思维运用

一、题目解析这道题题意就是一个二叉树找出路径长度最大的两个点,并将这两个点的路径长度输出为结果。需要注意的就是路径不一定非得经过根节点,这也是容易犯错的地方,也是这道题的难点所在。二、思路分析这道题首先很容易想到从根节点开始,分别计算左右子节点的深度然后相加即为结果,这种思路是最容易误入的。因为最长路径很可能是不经过根节点的。那么从深度优先搜索DFS的思想出发,从某一节点开始,计算路过

2017-03-26 20:24:39 425

原创 RealSense技术在SR300摄像头上的应用

RealSense技术在SR300摄像头上的应用一、          实感摄像头1、 RealSense技术在计算机的发展过程中我们始终没有抛弃键盘和鼠标,前几年win8和触屏的配合形成了一种新的电脑使用模式,但是依然没有打破传统的单向互动的使用习惯。直到RealSense技术的出现,计算机开始拥有了感知能力,并且带来全新的人机交互体验。英特尔RealSense(实感)技术前

2017-03-19 16:53:55 21362 5

原创 【LeetCode24】Swap Nodes in Pairs题解

一、题目详解由于原题大家都在原网站上能看到,这里就不把题目原样复制粘贴下来了。主要意思就是给定一个链表,将其链表内节点两两交换,最后返回交换后链表的头部。二、思路详解这道题可以用递归的方法将诶绝而且时间复杂度相对较小,我用的是循环读取链表节点,然后两两交换节点。实现起来比较麻烦的地方就是节点之间交换操作,注意交换节点后指针重新指向新节点就行,其余并没有多少难度。三、代码实现

2017-03-19 16:47:53 274

原创 【leetcode4】用分治算法计算中位数问题

此题在leetcode中评级为hard,目的是在O(log(m+n))的时间复杂度情况下解决问题。用常规O(m+n)的算法很容易求得结果,但显然不符合时间复杂度的要求。因此,这道题的解题分析主要还是利用分治算法去考虑,这也是本题的难点所在。一、原题叙述There are two sorted arrays nums1 and nums2 of size m and n respec

2017-03-11 15:48:15 8130 2

原创 [leetcode53]两种思路解决的Maximun Subarray

一、原题题干以及样例输出Find the contiguous subarray within an array (containing at least one number) which has the largest sum. For example, given the array [-2,1,-3,4,-1,2,1,-5,4], the contiguous subarr

2017-03-04 15:15:55 368

原创 LeetCode中338Counting Bits的题解

题目来源是LeetCode中的338题,题干意思很简单,就是给出一个非零整数,要求计算该整数范围内的每一个数所对应的二进制位中“1”的数量,并将其存储在一个数组中,返回数组。题目在LeetCode中属于中等难度题,因为特地要求了时间复杂度和空间复杂度均为O(n),按照常规做法很容易得到所需要的输出结果,但是时空间复杂度达不到要求。这也是该题的关键所在,把这道题的解题思路整理如下。一、原题描

2017-02-26 19:40:37 235

AngularJS权威教程中文版(Ari Lerner著)

本书是资深全栈工程师的代表性著作,由拥有丰富经验的国内AngularJS技术专家执笔翻译,通俗易懂、全面深入,是学习AngularJS不可错过的经典之作。无论是出于工作需要,还是好奇心的驱使,只要你想彻底理解AngularJS,本书都会让你感到满意。 本书将涵盖AngularJS的如下概念。 双向数据绑定、依赖注入、作用域、控制器、路由、客户端模板、服务、通过XHR实现动态内容、测试、过滤器、定制表单验证、深度测试、定制指令、专业工具、对IE的支持

2017-12-13

Java典型模块与项目实战大全_周华清(项目实战,后续更新源码)

《java典型模块与项目实战大全》共32章,分为7篇。涵盖的主要内容有搭建java开发环境、java面向对象编程、java新特性、学生并发接水、模拟做饭场景、火车站售票系统、生产者与消费者问题、关机工具、典型的图形用户界面、计算器、秒表、捉迷藏游戏、鼠标绘直线、指针时钟项目、控制动画项目、记事本、拼图游戏、文件属性查看器、文件内容查看器、日记簿、查找和替换项目、图像轮显动画项目、applet事件监听项目、动画播放项目、网络聊天室、ftp服务器客户端、web服务器、qq聊天工具、人员信息管理项目、中国象棋游戏、俄罗斯方块游戏网络版、图书管理系统项目等。

2017-12-12

密码编码学与网络安全原理与实践(第五版)

密码编码学与网络安全原理与实践中文第五版

2016-12-28

空空如也

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

TA关注的人

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