自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

SparkSnail

https://github.com/SparkSnail

  • 博客(62)
  • 资源 (6)
  • 收藏
  • 关注

原创 nowcoder 分糖果

题目n颗相同的糖果,分给m个人,每人至少一颗,问有多少种分法。 给定n和m,请返回方案数,保证n小于等于12,且m小于等于n。 测试样例: 10,3 返回:36思路Cn−1m−1'>Cm−1n−1Cn−1m−1C_{n-1}^{m-1}代码class Distribution: def get_fact(self, n, num)

2018-01-31 22:05:31 319

原创 nowcoder 孤傲的A

题目A(A也是他的编号)是一个孤傲的人,在一个n个人(其中编号依次为1到n)的队列中,他于其中的标号为b和标号c的人都有矛盾,所以他不会和他们站在相邻的位置。现在问你满足A的要求的对列有多少种? 给定人数n和三个人的标号A,b和c,请返回所求答案,保证人数小于等于11且大于等于3。 测试样例: 6,1,2,3 288思路n!−4(n−1)!+2(n&

2018-01-31 21:47:42 201

原创 nowcoder 站队问题

题目n个人站队,他们的编号依次从1到n,要求编号为a的人必须在编号为b的人的左边,但不要求一定相邻,请问共有多少种排法?第二问如果要求a必须在b的左边,并且一定要相邻,请问一共有多少种排法? 给定人数n及两个人的编号a和b,请返回一个两个元素的数组,其中两个元素依次为两个问题的答案。保证人数小于等于10。 测试样例: 7,1,2 返回:[2520,720]思路a在b的左边和...

2018-01-31 21:26:32 238

原创 nowcoder 方格移动

题目在XxY的方格中,以左上角格子为起点,右下角格子为终点,每次只能向下走或者向右走,请问一共有多少种不同的走法 给定两个正整数int x,int y,请返回走法数目。保证x+y小于等于12。 测试样例: 2,2 返回:2思路共有x+y-2步,有Cx+y−2x−1'>Cx−1x+y−2Cx+y−2x−1C_{x+y-2}^{x-1}种走法。代码

2018-01-31 21:11:57 233

原创 nowcoder 寻找奇数出现II

题目给定一个整型数组arr,其中有两个数出现了奇数次,其他的数都出现了偶数次,找到这两个数。要求时间复杂度为O(N),额外空间复杂度为O(1)。 给定一个整形数组arr及它的大小n,请返回一个数组,其中两个元素为两个出现了奇数次的元素,请将他们按从小到大排列。 测试样例: [1,2,4,4,2,1,3,5],8 返回:[3,5]思路首先计算出两个奇数的亦或值,然后得到这个值的为

2018-01-31 20:12:28 189

原创 nowcoder 寻找奇数出现

题目有一个整型数组A,其中只有一个数出现了奇数次,其他的数都出现了偶数次,请打印这个数。要求时间复杂度为O(N),额外空间复杂度为O(1)。 给定整形数组A及它的大小n,请返回题目所求数字。 测试样例: [1,2,3,2,1],5 返回:3思路用一个数和所有的数字进行亦或运算,最后得到的数字就是所求。代码class OddAppearance: def fi

2018-01-31 20:10:29 187

原创 nowcoder 比较

题目对于两个32位整数a和b,请设计一个算法返回a和b中较大的。但是不能用任何比较判断。若两数相同,返回任意一个。 给定两个整数a和b,请返回较大的数。 测试样例: 1,2 返回:2思路计算a−b'>a−ba−ba-b的值,取得a的符号和b的符号。代码class Compare: def flip(self, n): retur

2018-01-31 20:09:23 238

原创 nowcoder 交换

题目请编写一个算法,不用任何额外变量交换两个整数的值。 给定一个数组num,其中包含两个值,请不用任何额外变量交换这两个值,并将交换后的数组返回。 测试样例: [1,2] 返回:[2,1]思路使用亦或或者加减操作。代码1class Swap: def getSwap(self, num): # write code here

2018-01-31 19:27:36 248

原创 nowcoder 最大二叉搜索子树

题目有一棵二叉树,其中所有节点的值都不一样,找到含有节点最多 的搜索二叉子树,并返回这棵子树的头节点. 给定二叉树的头结点root,请返回所求的头结点,若出现多个节点最多的子树,返回头结点权值最大的。思路递归。分别找到一个节点左子树和右子树的搜索二叉子树的头节点。代码# class TreeNode:# def __init__(self, x):#

2018-01-30 21:29:26 266

原创 nowcoder 树上最远距离

题目从二叉树的节点A出发,可以向上或者向下走,但沿途的节点只能经过一次,当到达节点B时,路径上的节点数叫作A到B的距离。对于给定的一棵二叉树,求整棵树上节点间的最大距离。 给定一个二叉树的头结点root,请返回最大距离。保证点数大于等于2小于等于500.思路递归遍历左子树和右子树最大距离,更新全局最大距离。代码# class TreeNode:# def __i

2018-01-30 20:15:12 258

原创 nowcoder 寻找错误结点

题目一棵二叉树原本是搜索二叉树,但是其中有两个节点调换了位置,使得这棵二叉树不再是搜索二叉树,请找到这两个错误节点并返回他们的值。保证二叉树中结点的值各不相同。 给定一棵树的根结点,请返回两个调换了位置的值,其中小的值在前。思路搜索二叉树中序遍历有序,找到逆序的两个位置即可。代码# class TreeNode:# def __init__(self,

2018-01-30 19:20:24 230

原创 nowcoder 折纸

题目请把纸条竖着放在桌⼦上,然后从纸条的下边向上⽅对折,压出折痕后再展 开。此时有1条折痕,突起的⽅向指向纸条的背⾯,这条折痕叫做“下”折痕 ;突起的⽅向指向纸条正⾯的折痕叫做“上”折痕。如果每次都从下边向上⽅ 对折,对折N次。请从上到下计算出所有折痕的⽅向。 给定折的次数n,请返回从上到下的折痕的数组,若为下折痕则对应元素为”down”,若为上折痕则为”up”. 测试样例: 1 返

2018-01-30 18:42:07 160

原创 nowcoder 完全二叉树判断

题目有一棵二叉树,请设计一个算法判断它是否是完全二叉树。 给定二叉树的根结点root,请返回一个bool值代表它是否为完全二叉树。树的结点个数小于等于500。思路二叉树层次遍历。当结点只有右子树没有左子树时不是完全二叉树。代码# class TreeNode:# def __init__(self, x):# self.val = x#

2018-01-29 20:46:57 163

原创 nowcoder 平衡二叉树判断

题目有一棵二叉树,请设计一个算法判断这棵二叉树是否为平衡二叉树。 给定二叉树的根结点root,请返回一个bool值,代表这棵树是否为平衡二叉树。思路递归,判断每个节点左右子树是否为AVL树,同时获取左右子树的高度。代码# class TreeNode:# def __init__(self, x):# self.val = x#

2018-01-29 20:32:48 160

原创 nowcoder 二叉树的序列化

题目首先我们介绍二叉树先序序列化的方式,假设序列化的结果字符串为str,初始时str等于空字符串。先序遍历二叉树,如果遇到空节点,就在str的末尾加上“#!”,“#”表示这个节点为空,节点值不存在,当然你也可以用其他的特殊字符,“!”表示一个值的结束。如果遇到不为空的节点,假设节点值为3,就在str的末尾加上“3!”。现在请你实现树的先序序列化。 给定树的根结点root,请返回二叉树序列化后

2018-01-29 20:02:57 179

原创 nowcoder 非递归二叉树的序列打印

题目请用非递归方式实现二叉树的先序、中序和后序的遍历打印。 给定一个二叉树的根结点root,请依次返回二叉树的先序,中序和后序遍历(二维数组的形式)。思路非递归方式遍历二叉树。后序遍历有两种方式。代码# class TreeNode:# def __init__(self, x):# self.val = x# self.le

2018-01-29 19:38:51 151

原创 nowcoder 递归二叉树的序列打印

题目请用递归方式实现二叉树的先序、中序和后序的遍历打印。 给定一个二叉树的根结点root,请依次返回二叉树的先序,中序和后续遍历(二维数组的形式)。思路用递归方式进行二叉树的三种遍历。代码# class TreeNode:# def __init__(self, x):# self.val = x# self.left = N

2018-01-29 17:39:34 160

原创 nowcoder 快速N次方

题目如果更快的求一个整数k的n次方。如果两个整数相乘并得到结果的时间复杂度为O(1),得到整数k的N次方的过程请实现时间复杂度为O(logN)的方法。 给定k和n,请返回k的n次方,为了防止溢出,请返回结果Mod 1000000007的值。 测试样例: 2,3 返回:8思路快速幂算法。把幂分解为二进制,不断循环遍历每一位的值,连乘。代码class QuickPowe

2018-01-29 17:09:34 209

原创 nowcoder 完全二叉树计数

题目给定一棵完全二叉树的根节点root,返回这棵树的节点个数。如果完全二叉树的节点数为N,请实现时间复杂度低于O(N)的解法。 给定树的根结点root,请返回树的大小。思路二分查找。统计根节点最左节点的深度。当左边深度和右边深度相同时,说明左边是完全二叉树,递归遍历右边,否则右边是完全二叉树,递归遍历左边。代码# class TreeNode:# def __i

2018-01-29 16:54:10 216

原创 nowcoder 最左原位

题目有一个有序数组arr,其中不含有重复元素,请找到满足arr[i]==i条件的最左的位置。如果所有位置上的数都不满足条件,返回-1。 给定有序数组arr及它的大小n,请返回所求值。 测试样例: [-1,0,2,3],4 返回:2思路二分查找。当arr[mid]代码class Find: def findPos(self, arr, n):

2018-01-29 16:20:23 199

原创 nowcoder 元素最左出现

题目对于一个有序数组arr,再给定一个整数num,请在arr中找到num这个数出现的最左边的位置。 给定一个数组arr及它的大小n,同时给定num。请返回所求位置。若该元素在数组中未出现,请返回-1。 测试样例: [1,2,3,3,4],5,3 返回:2思路二分,依次比较num和中间值的大小关系,更新res值。代码class LeftMostAppearance:

2018-01-27 18:26:24 163

原创 LSTM

结构LSTM结构如下: 输入门、遗忘门和输出门输入门It'>ItItI_t,遗忘门Ft'>FtFtF_t和输出门Ot'>OtOtO_t定义如下: 候选细胞细胞通过输入门和遗忘门来控制细胞的信息流动。如果遗忘门一直近似1且输入门一直近似0,过去的细胞将一直通过时间保存并传递至当前时刻。这个设计可以应对循环神经网络中的梯度衰减问题,并更好地捕捉时序数据中

2018-01-26 00:37:24 426

原创 GRU

结构GRU由Cho、van Merrienboer、 Bahdanau和Bengio在2014年提出。 GRU结构如下: 重置门和更新门GRU包含两个门,一个重置门Rt'>RtRtR_t和一个更新门Zt'>ZtZtZ_t。 定义如下: 这两个门的结果经过了一个sigmoid函数,值域为[0,1]'>[0,1][0,1][0, 1].候选隐含状态 候选隐

2018-01-25 23:46:20 8063 2

原创 nowcoder 链表的回文结构

题目请编写一个函数,检查链表是否为回文。 给定一个链表ListNode* pHead,请返回一个bool,代表链表是否为回文。 测试样例: {1,2,3,2,1} 返回:true {1,2,3,2,3} 返回:false思路定义一个stack,存储链表的值,两次遍历。代码# -*- coding:utf-8 -*-# class ListNode:#

2018-01-25 21:53:09 164

原创 nowcoder 链表指定值清除

思路现在有一个单链表。链表中每个节点保存一个整数,再给定一个值val,把所有等于val的节点删掉。 给定一个单链表的头结点head,同时给定一个值val,请返回清除后的链表的头结点,保证链表中有不等于该值的其它值。请保证其他元素的相对顺序。 测试样例: {1,2,3,4,3,2,1},2 {1,3,4,3,1}思路水题。写就是了(^-^)V代码# -*- coding:

2018-01-25 21:46:43 151

原创 nowcoder 链表的k逆序

题目有一个单链表,请设计一个算法,使得每K个节点之间逆序,如果最后不够K个节点一组,则不调整最后几个节点。例如链表1->2->3->4->5->6->7->8->null,K=3这个例子。调整后为,3->2->1->6->5->4->7->8->null。因为K==3,所以每三个节点之间逆序,但其中的7,8不调整,因为只有两个节点不够一组。 给定一个单链表的头指针head,同时给定K值,返回

2018-01-25 21:35:12 195

原创 nowcoder 打印两个链表的公共值

题目现有两个升序链表,且链表中均无重复元素。请设计一个高效的算法,打印两个链表的公共值部分。 给定两个链表的头指针headA和headB,请返回一个vector,元素为两个链表的公共部分。请保证返回数组的升序。两个链表的元素个数均小于等于500。保证一定有公共值 测试样例: {1,2,3,4,5,6,7},{2,4,6,8,10} 返回:[2.4.6]思路水题。不想写。

2018-01-25 20:55:42 155

原创 nowcoder 链表的分化

题目对于一个链表,我们需要用一个特定阈值完成对它的分化,使得小于等于这个值的结点移到前面,大于该值的结点在后面,同时保证两类结点内部的位置关系不变。 给定一个链表的头结点head,同时给定阈值val,请返回一个链表,使小于等于它的结点在前,大于等于它的在后,保证结点值不重复。 测试样例: {1,4,2,5},3 {1,2,4,5}思路用两个临时链表记录大于val和小于等于val

2018-01-25 20:51:53 148

原创 nowcoder 双栈排序

题目请编写一个程序,按升序对栈进行排序(即最大元素位于栈顶),要求最多只能使用一个额外的栈存放临时数据,但不得将元素复制到别的数据结构中。 给定一个int[] numbers(C++中为vector&ltint>),其中第一个元素为栈顶,请返回排序后的栈。请注意这是一个栈,意味着排序过程中你只能访问到第一个元素。 测试样例: [1,2,3,4,5] 返回:[5,4,3,2,1]思路

2018-01-24 16:10:55 165

原创 nowcoder 栈的反转

题目实现一个栈的逆序,但是只能用递归函数和这个栈本身的pop操作来实现,而不能自己申请另外的数据结构。 给定一个整数数组A即为给定的栈,同时给定它的大小n,请返回逆序后的栈。 测试样例: [4,3,2,1],4 返回:[1,2,3,4]思路定义两个递归函数。代码class StackReverse: def getlast(self, A):

2018-01-24 16:06:00 162

原创 nowcoder 双栈队列

题目编写一个类,只能用两个栈结构实现队列,支持队列的基本操作(push,pop)。 给定一个操作序列ope及它的长度n,其中元素为正数代表push操作,为0代表pop操作,保证操作序列合法且一定含pop操作,请返回pop的结果序列。 测试样例: [1,2,3,0,4,0],6 返回:[1,2]思路用两个栈实现队列。代码class TwoStack:

2018-01-24 16:00:49 157

原创 nowcoder 可查询最值的栈

题目定义栈的数据结构,请在该类型中实现一个能够得到栈最小元素的min函数。 思路定义一个minstack,同时记录当前栈顶最小值。代码class Solution: def __init__(self): self.stack = [] self.minstack = [] def push(self, node):

2018-01-23 19:52:27 200

原创 nowcoder 最长无重复字符子串

题目对于一个字符串,请设计一个高效算法,找到字符串的最长无重复字符的子串长度。 给定一个字符串A及它的长度n,请返回它的最长无重复字符子串长度。保证A中字符全部为小写英文字符,且长度小于等于500。 测试样例: “aabcb”,5 返回:3思路定义一个pre_index记录前一个重复字符的下标。代码class DistinctSubstring: def l

2018-01-23 19:35:48 188

原创 nowcoder 合法括号序列判断

题目对于一个字符串,请设计一个算法,判断其是否为一个合法的括号串。 给定一个字符串A和它的长度n,请返回一个bool值代表它是否为一个合法的括号串。 测试样例: “(()())”,6 返回:true 测试样例: “()a()()”,7 返回:false 测试样例: “()(()()”,7 返回:false思路用一个数字countcount存储左括号个数,当遇到右括号

2018-01-23 18:49:00 361

原创 nowcoder 拼接最小字典序

题目对于一个给定的字符串数组,请找到一种拼接顺序,使所有小字符串拼接成的大字符串是所有可能的拼接中字典序最小的。 给定一个字符串数组strs,同时给定它的大小,请返回拼接成的串。 测试样例: [“abc”,”de”],2 “abcde”思路定义比较函数str1+str2=str2+str1str1+str2,然后自定义快排。代码class Prior:

2018-01-23 18:26:54 202

原创 nowcoder 句子的逆序

题目对于一个字符串,请设计一个算法,只在字符串的单词间做逆序调整,也就是说,字符串由一些由空格分隔的部分组成,你需要将这些部分逆序。 给定一个原字符串A和他的长度,请返回逆序后的字符串。 测试样例: “dog loves pig”,13 返回:”pig loves dog”思路python大发好!代码class Reverse: def reverseSen

2018-01-23 16:56:35 194

原创 nowcoder 词语变形

题目对于两个字符串A和B,如果A和B中出现的字符种类相同且每种字符出现的次数相同,则A和B互为变形词,请设计一个高效算法,检查两给定串是否互为变形词。 给定两个字符串A和B及他们的长度,请返回一个bool值,代表他们是否互为变形词。 测试样例: “abc”,3,”bca”,3 返回:true思路用哈希,保存两个字典,存储字符个数,然后比较。代码class Tra

2018-01-23 16:38:09 263

原创 nowcoder 拓扑结构相同子树

题目对于两棵彼此独立的二叉树A和B,请编写一个高效算法,检查A中是否存在一棵子树与B树的拓扑结构完全相同。 给定两棵二叉树的头结点A和B,请返回一个bool值,代表A中是否存在一棵同构于B的子树。思路递归遍历两个树。当A的值和B的值相同时,从这个节点开始寻找。代码# class TreeNode:# def __init__(self, x):#

2018-01-23 16:21:42 226

原创 nowcoder 最短子数组

题目对于一个数组,请设计一个高效算法计算需要排序的最短子数组的长度。 给定一个int数组A和数组的大小n,请返回一个二元组,代表所求序列的长度。(原序列位置从0开始标号,若原序列有序,返回0)。保证A中元素均为正整数。 测试样例: [1,4,6,5,9,10],6 返回:2思路先从左到右遍历,找到一个小于当前最大值的位置。再从右向左遍历,找到一个大于当前最小值的位置。两个位置之

2018-01-23 15:52:42 157

原创 nowcoder 有序矩阵查找

题目现在有一个行和列都排好序的矩阵,请设计一个高效算法,快速查找矩阵中是否含有值x。 给定一个int矩阵mat,同时给定矩阵大小nxm及待查找的数x,请返回一个bool值,代表矩阵中是否存在x。所有矩阵中数字及x均为int范围内整数。保证n和m均小于等于1000。 测试样例: [[1,2,3],[4,5,6],[7,8,9]],3,3,10 返回:false思路每次判断右上角的

2018-01-23 15:38:24 179

Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理 目录完整版

网上其余的资源都没有目录或者目录不全,也不太清晰。这个版本是高清版本,而且有完整目录,放心下载。

2016-10-12

Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理

《Hadoop技术内幕:深入解析HADOOP COMMON和HDFS架构设计与实现原理》,珍贵资源。

2016-10-12

Android客户端与服务器端的json数据交互 最全

Android客户端与服务器端的json数据交互(包括服务器代码 客户端代码和建表语句 代码最全

2015-03-13

老罗Android视频http协议开发包

老罗Android视频中http协议那一章视频用到的开发包,亲测可用。

2015-01-26

JDK API 1.6中文版CHM格式

JDK API1.6中文版,chm格式,无需安装,直接点击打开,亲测可用。

2015-01-26

空空如也

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

TA关注的人

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