自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ShuJk的博客

草遮不住鹰眼,水遮不住鱼眼

  • 博客(26)
  • 资源 (3)
  • 收藏
  • 关注

原创 convert-sorted-list-to-binary-search-tree(转换排序列表到二进制搜索树)

1.题目 给定一个单元链表,元素按升序排序,将其转换为高度平衡的BST。2.分析思路思路来自牛客网JacobGo!这道题是要求把有序链表转为二叉搜索树,由于二分查找法每次需要找到中点,而链表的查找中间点可以通过快慢指针来操作。找到中点后,要以中点的值建立一个数的根节点,然后需要把原链表断开,分为前后两个链表,都不能包含原中节点,然后再分别对这两个链表递归调用原函数,分别连...

2018-03-31 22:08:24 249

原创 balanced-binary-tree(平衡二叉树)

1.题目 给定一个二叉树,确定它是否是高度平衡的。对于这个问题,一个高度平衡的二叉树被定义为一个二叉树,其中每个节点的两个子树的深度相差不会超过1。2.分析过程 思路:先写一个函数来求最大深度,对于二叉树的每一个节点,都求它的左子树和右子树的最大深度,如果两个深度之间的差大于1,那么就返回false。不断递归判断即可。 注:也可使用树的层次遍历来求树的深度,而不必使用...

2018-03-30 18:49:23 289

原创 path-sum(路径和)

1.题目(1)题目1:给定一棵二叉树和一个和,确定树是否有根到叶的路径,这样沿路径加起来的所有值就等于给定的和。例如:鉴于下面的二叉树andsum = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ ...

2018-03-30 18:44:42 302

转载 操作系统中的临界区、互斥量、信号量和事件的区别

转载自临界区,互斥量,信号量,事件的区别四种进程或线程同步互斥的控制方法 临界区: 通过对多线程的串行化来访问公共资源的一段代码,速度快,适合控制数据访问。 互斥量: 为协调共同对一个共享资源的单独访问而设计的。 信号量: 为控制一个具有有限数量用户资源而设计。 事 件: 用来通知线程有一些事件已发生,从而启动后继任务的开始。1.临界区(Critical Section)保证在...

2018-03-30 12:08:25 6035

转载 操作系统知识点总结(2)

此博客转载自操作系统之面试常考一、操作系统引论操作系统目标1:方便性,2:有效性,3:可扩展性,4:开放性操作系统基本特性1:并发、2:共享、3:虚拟、4:异步描述多道批处理、分时、实时操作系统的特点各是什么?批处理操作系统:多道性、无序性、调度性,系统利用率高、吞吐量大、平均周转时间长、但无交互能力。 分时操作系统:有多路性、独立性、及时性和交互性。 有较好...

2018-03-30 11:45:11 630

转载 操作系统知识点总结(1)

此博客转载自找工作笔试面试那些事儿(13)—操作系统常考知识点总结一、进程管理1、进程是具有独立功能程序在某个数据集合上的一次执行过程。线程是进程内的一个执行实体或执行单元。 进程和线程的区别:(a)不同进程的地址空间是独立的,而同一进程内的线程共享同一地址空间。一个进程的线程在另一个进程内是不可见的。(b) 在引入线程的操作系统中,进程是资源分配和调度的单位,线程是处理机调...

2018-03-30 10:54:40 251

原创 distinct-subsequences(不同子序列)

题目来自牛客网leetcode1.题目 给定一个字符串S和一个字符串T,计算S中与T相同的子序列的个数。字符串的子序列是由原始字符串形成的新字符串,通过删除字符中的一些(可以不是)而不干扰其余字符的相对位置。 (即“ACE”是“ABCDE”的子序列,而“AEC”不是)。这里是一个例子:S =“rabbbit”,T =“rabbit”返回3。2.分析过程 ...

2018-03-28 22:23:01 287

转载 动态规划算法

通过把原问题分解为相对简单的子问题的方式求解复杂问题的方法。动态规划常常适用于有重叠子问题和最优子结构性质的问题。1.基本思想 若要解一个给定问题,我们需要解其不同部分(即子问题),再合并子问题的解以得出原问题的解。 通常许多子问题非常相似,为此动态规划法试图仅仅解决每个子问题一次,从而减少计算量: 一旦某个给定子问题的解已经算出,则将其记忆化存储,以便下次需要同一个子问题解之时...

2018-03-28 21:01:27 214

转载 TCP建立连接三次握手和释放连接四次握手

此博客内容来自TCP建立连接三次握手和释放连接四次握手 在谈及TCP建立连接和释放连接过程,先来简单认识一下TCP报文段首部格式的几个名词: 序列号seq:占4个字节,用来标记数据段的顺序,TCP把连接中发送的所有数据字节都编上一个序号,第一个字节的编号由本地随机产生;给字节编上序号后,就给每一个报文段指派一个序号;序列号seq就是这个报文段中的第一个字节的数据编号。 ...

2018-03-28 15:17:33 295

转载 网络拥塞控制之TCP拥塞控制算法

此博客转载自网络拥塞控制(三) TCP拥塞控制算法为了防止网络的拥塞现象,TCP提出了一系列的拥塞控制机制。最初由V. Jacobson在1988年的论文中提出的TCP的拥塞控制由“慢启动(Slow start)”和“拥塞避免(Congestion avoidance)”组成,后来TCP Reno版本中又针对性的加入了“快速重传(Fast retransmit)”、“快速恢复(Fast Rec...

2018-03-28 14:52:06 1528

原创 populating-next-right-pointers-in-each-node(填充每个节点中右下角的指针)

1.题目 给定一个二叉树 struct TreeLinkNode { TreeLinkNode *left; TreeLinkNode *right; TreeLinkNode * next; }填充每个下一个指针指向其下一个右侧节点。 如果没有下一个正确的节点,则应将下一个指针设置为NULL。最初,所有下一个指针都设置...

2018-03-27 23:19:58 213

原创 pascals-triangle(帕斯卡三角、杨辉三角)

1.题目 (1) 题目1:给定numRows,生成帕斯卡三角形的第一个行。 例如,给定numRows = 5, 返回: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1...

2018-03-27 14:27:25 629

原创 InnoDB引擎中的表

1.InnoDB存储引擎表的类型在InnoDB中,表是根据主键的顺序组织存放的,这种存储方式的表称为索引组织表。在InnoDB引擎表中,每张表都有个主键(Primary Key),如果在创建表时,没有显式地指定主键,则InnoDB存储引擎会按如下方式选择或创建主键: (1)首先判断表中是否有非空的唯一索引,如果有,则改列即为主键; (2)如果不符合上述条件,InnoDB存储引擎...

2018-03-26 16:18:27 421

原创 triangle(三角形最短路径)

1.题目给定一个三角形,从上到下找到最小路径和。 您可以移动到下一行的相邻数字的每一步。例如,给出以下三角形[ [2], [3,4], [6,5,7], [4,1,8,3]]从顶部到底部的最小路径和为11(即,2 + 3 + 5 + 1 = 11)。2.分析思路 (1)思路一:动态规划。 给定一个三角形,找出从顶到底的最...

2018-03-26 00:06:23 3509

原创 InnoDB引擎中的索引与算法

1.概述 InnoDB存储引擎支持两种索引,一种是B+树索引,一种是哈希索引。 InnoDB存储引擎支持的哈希索引是自适应的,InnoDB存储引擎会根据表的使用情况自动为表生成哈希索引,不能人为干预是否在一张表中生成哈希索引。 B+树索引是传统意义上的索引,这是目前关系型数据库系统中最常用、最有效的索引。B+树索引类似于二叉树,根据键值(Key,Value)快速找到数据。需要注...

2018-03-24 00:25:10 662

原创 best-time-to-buy-and-sell-stock(购买并抛售股票的最佳时机)

题目1(1)题目:假设你有一个数组,其中第i个元素是第i天给定股票的价格。如果您只允许完成至多一笔交易(即买入一只股票并出售一只股票),则设计一种算法以找到最大利润。(2)分析:分别计算第1天,第2天,...,第n-1天出售股票时的最大利润,再得出总的最大利润。(3)代码:代码1:public class Solution { public int maxProfit(...

2018-03-23 23:01:31 242

转载 InnoDB引擎中的锁

1.概述 相对其他数据库而言,mysql的锁机制比较简单,其最显著的特点是不同的存储引擎支持不同的锁机制。比如:myisam和memory存储引擎采用的是表级锁,bdb采用的是页面锁,但也支持表级锁,innodb存储引擎即支持行级锁也支持表级锁,但默认情况下是行级锁。 三种锁的特性大致归纳如下: (1)表级锁:开销小,加锁快;不会出现死锁;锁粒度大,发生冲突的概率高,并...

2018-03-23 11:27:34 358

原创 binary-tree-maximum-path-sum(二叉树的最大路径和)

1.题目 给定一个二叉树,找到最大路径和。路径可以在树中的任何节点开始和结束。例如:鉴于下面的二叉树, 1 / \ 2 3 返回62.分析过程 首先我们分析一下对于指定某个节点为根时,最大的路径和有可能是哪些情况: (1)最大路径包含该根节点 最大路径之和=根节点的值+深度遍历其左子树的路径和的最大值 +深...

2018-03-22 17:54:07 718

转载 大整数乘法

1.题目有两个用字符串表示的非常大的大整数,算出他们的乘积,也是用字符串表示。不能用系统自带的大整数类型。 输入描述:空格分隔的两个字符串,代表输入的两个大整数输出描述:输入的乘积,用字符串表示输入例子1:72106547548473106236 982161082972751393输出例子1:70820244829634538040848656466105986748...

2018-03-20 22:27:46 636

原创 Spring入门——HelloWorld

1.安装 SPRING TOOL SUITE使用Spring框架之前,需要先在eclipse中安装SPRING TOOL SUITE。 SPRING TOOL SUITE 是一个 Eclipse 插件,利用该插件可以更方便的在 Eclipse 平台上开发基于 Spring 的应用。 安装方法说明(springsource-tool-suite-3.9.2.RELEASE-e4.6.3-u...

2018-03-19 23:53:02 349

原创 word-ladder(字梯)

1.题目 给定两个单词(开始和结束)和一个字典,从头到尾查找最短变换序列的长度,以便:一次只能更改一个字母,每个中间词必须存在于词典中例如,给定:start ="hit"end ="cog"dict =["hot","dot","dog","lot","log"]由于最短的一个转换是"hit" -> "hot

2018-03-19 20:48:40 371

原创 word-ladder-ii(字梯)

1.题目给定两个单词(开始和结束)和一个字典,从头到尾查找所有最短的变换序列,以便:一次只能更改一个字母每个中间词必须存在于词典中例如,给定:start ="hit"end ="cog"dict =["hot","dot","dog","lot","log"]返回:[ ["hit","hot",&quo

2018-03-19 20:43:13 324

转载 longest-consecutive-sequence

题目来源于牛客网leetcode 分析过程来自Felix 的博客1.题目给定一个未排序的整数数组,找出最长连续元素序列的长度。例如,鉴于[100,4,200,1,3,2],最长的连续元素序列是[1,2,3,4]。 返回它的长度:4。你的算法应该以O(n)的复杂度运行。2.分析过程 实现思路需要做一些改变:我们先定义一个map,遍历一遍数组,将(key, value...

2018-03-18 22:40:41 139

转载 连续子数组的最大和

题目来源于牛客网之剑指offer1.题目HZ偶尔会拿些专业问题来忽悠那些非计算机专业的同学。今天测试组开完会后,他又发话了:在古老的一维模式识别中,常常需要计算连续子向量的最大和,当向量全为正数的时候,问题很好解决。但是,如果向量中包含负数,是否应该包含某个负数,并期望旁边的正数会弥补它呢?例如:{6,-3,-2,7,-15,1,2,2},连续子向量的最大和为8(从第0个开始,到第3个为止...

2018-03-18 22:26:31 148

原创 事务

1.事务概述事务是指作为单个逻辑工作单元执行的一系列操作,要么完全地执行,要么完全地不执行。事务用来保证数据库的完整性——要么都做修改,要么都不修改。 事务具有以下四个特性(ACID): (1)原子性(Atomicity) 原子性是指整个数据库事务是不可分割的工作单位。只有使事务中所有的数据库操作执行都成功,才算整个事务成功。如果事务中任何一个SQL语句执行失败,那么已经执行成功的SQL...

2018-03-18 13:06:59 219

原创 surrounded-regions

1.题目:Given a 2D board containing’X’and’O’, capture all regions surrounded by’X’. A region is captured by flipping all’O’s into’X’s in that surrounded region . For example,X X X X X O O X X X O X...

2018-03-16 22:37:07 219 1

Sort.java(排序算法)

数据结构中排序算法的java代码实现

2018-03-31

Search.java

数据结构中查找算法的java代码实现

2018-03-31

Graph.java

数据结构中有关图的java代码实现

2018-03-31

空空如也

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

TA关注的人

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