摘要:有效的字母异位词 给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的一个字母异位词。 示例 1: 输入: s = "anagram", t = "nagaram" 输出: true 示例 2: 输入: s = "rat", t = "car" 输出: false 说明:你可以假设字
阅读全文
摘要:为运算表达式设计优先级 给定一个含有数字和运算符的字符串,为表达式添加括号,改变其运算优先级以求出不同的结果。你需要给出所有可能的组合的结果。有效的运算符号包含 +, - 以及 * 。 示例 1: 输入: "2-1-1" 输出: [0, 2] 解释: ((2-1)-1) = 0 (2-(1-1))
阅读全文
摘要:搜索二维矩阵II 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例: 现有矩阵 matrix 如下: [ [1, 4, 7, 11, 15], [2, 5, 8, 12, 1
阅读全文
摘要:滑动窗口最大值 给定一个数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口 k 内的数字。滑动窗口每次只向右移动一位。 返回滑动窗口最大值。 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3 输出: [3,3,5
阅读全文
摘要:删除链表中的节点 请编写一个函数,使其可以删除某个链表中给定的(非末尾)节点,你将只被给定要求被删除的节点。 现有一个链表 -- head = [4,5,1,9],它可以表示为: 4 -> 5 -> 1 -> 9 示例 1: 输入: head = [4,5,1,9], node = 5 输出: [4
阅读全文
摘要:二叉树的最近公共祖先 给定一个二叉树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。" 例如,给定如下二叉树: roo
阅读全文
摘要:二叉搜索树的公共祖先 给定一个二叉搜索树, 找到该树中两个指定节点的最近公共祖先。 百度百科中最近公共祖先的定义为:"对于有根树 T 的两个结点 p、q,最近公共祖先表示为一个结点 x,满足 x 是 p、q 的祖先且 x 的深度尽可能大(一个节点也可以是它自己的祖先)。" 例如,给定如下二叉搜索树:
阅读全文
摘要:数字1的个数 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数。 示例: 输入: 13 输出: 6 解释: 数字 1 出现在以下数字中: 1, 10, 11, 12, 13 。 1的总个数为1在1~n所有数中 个位数上有1的个数+十位数上有1的个数+...+亿位数上有1的个数
阅读全文
摘要:二叉搜索树第k小的数 给定一个二叉搜索树,编写一个函数 kthSmallest 来查找其中第 k 个最小的元素。 说明:你可以假设 k 总是有效的,1 ≤ k ≤ 二叉搜索树元素个数。 示例 1: 输入: root = [3,1,4,null,2], k = 1 输出: 1 示例 2: 输入: ro
阅读全文
摘要:求众数II 给定一个大小为 n 的数组,找出其中所有出现超过 ⌊ n/3 ⌋ 次的元素。 说明: 要求算法的时间复杂度为 O(n),空间复杂度为 O(1)。 示例 1: 输入: [3,2,3] 输出: [3] 示例 2: 输入: [1,1,1,3,3,2,2,2] 输出: [1,2] 摩尔投票法的基
阅读全文
摘要:基本计算器II 实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式仅包含非负整数,+, - ,*,/ 四种运算符和空格 。 整数除法仅保留整数部分。 示例 1: 输入: "3+2*2" 输出: 7 示例 2: 输入: " 3/2 " 输出: 1 示例 3: 输入: " 3+5 /
阅读全文
摘要:基本计算器 实现一个基本的计算器来计算一个简单的字符串表达式的值。 字符串表达式可以包含左括号 ( ,右括号 ),加号 + ,减号 -,非负整数和空格 。 示例 1: 输入: "1 + 1" 输出: 2 示例 2: 输入: " 2-1 + 2 " 输出: 3 示例 3: 输入: "(1+(4+5+2
阅读全文
摘要:完全二叉树的节点个数 给出一个完全二叉树,求出该树的节点个数。 说明: 完全二叉树的定义如下:在完全二叉树中,除了最底层节点可能没填满外,其余每层节点数都达到最大值,并且最下面一层的节点都集中在该层最左边的若干位置。若最底层为第 h 层,则该层包含 1~ 2h 个节点。 示例: 输入: 输出: 6
阅读全文
摘要:最大的正方形 在一个由 0 和 1 组成的二维矩阵内,找到只包含 1 的最大正方形,并返回其面积。 示例: 输入: 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 输出: 4 判断以某个点为正方形右下角时最大的正方形时,那它的上方,左方和左上方三个点也一定是某个正方形
阅读全文
摘要:存在重复元素III 给定一个整数数组,判断数组中是否有两个不同的索引 i 和 j,使得 nums [i] 和 nums [j] 的差的绝对值最大为 t,并且 i 和 j 之间的差的绝对值最大为 ķ。 示例 1: 输入: nums = [1,2,3,1], k= 3, t = 0 输出: true 示
阅读全文
摘要:天际线问题 城市的天际线是从远处观看该城市中所有建筑物形成的轮廓的外部轮廓。现在,假设您获得了城市风光照片(图A)上显示的所有建筑物的位置和高度,请编写一个程序以输出由这些建筑物形成的天际线(图B)。 每个建筑物的几何信息用三元组 [Li,Ri,Hi] 表示,其中 Li 和 Ri 分别是第 i 座建
阅读全文
摘要:数组中的第k个最大元素 在未排序的数组中找到第 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
阅读全文
摘要:最短回文串 给定一个字符串 s,你可以通过在字符串前面添加字符将其转换为回文串。找到并返回可以用这种方式转换的最短回文串。 示例 1: 输入: "aacecaaa" 输出: "aaacecaaa" 示例 2: 输入: "abcd" 输出: "dcbabcd" 这个题目是在字符串前面加字符构成一个最短
阅读全文
摘要:打家劫舍II 你是一个专业的小偷,计划偷窃沿街的房屋,每间房内都藏有一定的现金。这个地方所有的房屋都围成一圈,这意味着第一个房屋和最后一个房屋是紧挨着的。同时,相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算
阅读全文
摘要:单词搜索II 给定一个二维网格 board 和一个字典中的单词列表 words,找出所有同时在二维网格和字典中出现的单词。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母在一个单词中不允许被重复使用。 示例: 输入: wo
阅读全文
摘要:添加与搜索单词 设计一个支持以下两种操作的数据结构: void addWord(word) bool search(word) search(word) 可以搜索文字或正则表达式字符串,字符串只包含字母 . 或 a-z 。 . 可以表示任何一个字母。 示例: addWord("bad") addWo
阅读全文
摘要:长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。 示例: 输入: s = 7, nums = [2,3,1,2,4,3] 输出: 2 解释: 子数组 [4,3] 是该条件下的长度最小
阅读全文
摘要:实现前缀树 实现一个 Trie (前缀树),包含 insert, search, 和 startsWith 这三个操作。 示例: Trie trie = new Trie(); trie.insert("apple"); trie.search("apple"); // 返回 true trie.s
阅读全文
摘要:课程表 现在你总共有 n 门课需要选,记为 0 到 n-1。 在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们: [0,1] 给定课程总量以及它们的先决条件,判断是否可能完成所有课程的学习? 示例 1: 输入: 2, [[1,0]] 输
阅读全文
摘要:反转链表 反转一个单链表。 示例: 输入: 1->2->3->4->5->NULL 输出: 5->4->3->2->1->NULL 链表的翻转是程序员面试中出现频度最高的问题之一,常见的解决方法分为递归和迭代两种。最近在复习的时候,发现网上的资料都只告诉了怎么做,但是根本没有好好介绍两种方法的实现过
阅读全文
摘要:计数质数 统计所有小于非负整数 n 的质数的数量。 示例: 输入: 10 输出: 4 解释: 小于 10 的质数一共有 4 个, 它们是 2, 3, 5, 7 。 比计算少n中素数的个数。 素数又称质数,是指仅仅能被1和它自身相除的自然数。 须要注意的是1既不是素数也不是合数。 2是最小的素数。 使
阅读全文
摘要:数字范围按位与 给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。 示例 1: 输入: [5,7] 输出: 4 示例 2: 输入: [0,1] 输出: 0 我们就会知道与运算的一条性质:n & (n - 1) 可
阅读全文
摘要:颠倒二进制位 颠倒给定的 32 位无符号整数的二进制位。 示例: 输入: 43261596 输出: 964176192 解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 , 返回 964176192,其二进制表示形式为 001110010
阅读全文
摘要:买卖股票的最佳时机IV 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 k 笔交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [2,4,1], k = 2 输出: 2 解
阅读全文
摘要:重复的DNA序列 所有 DNA 由一系列缩写为 A,C,G 和 T 的核苷酸组成,例如:"ACGAATTCCG"。在研究 DNA 时,识别 DNA 中的重复序列有时会对研究非常有帮助。 编写一个函数来查找 DNA 分子中所有出现超多一次的10个字母长的序列(子串)。 示例: 输入: s = "AAA
阅读全文
摘要:最大数 给定一组非负整数,重新排列它们的顺序使之组成一个最大的整数。 示例 1: 输入: [10,2] 输出: 210 示例 2: 输入: [3,30,34,5,9] 输出: 9534330
阅读全文
摘要:地下城游戏 一些恶魔抓住了公主(P)并将她关在了地下城的右下角。地下城是由 M x N 个房间组成的二维网格。我们英勇的骑士(K)最初被安置在左上角的房间里,他必须穿过地下城并通过对抗恶魔来拯救公主。 骑士的初始健康点数为一个正整数。如果他的健康点数在某一时刻降至 0 或以下,他会立即死亡。 有些房
阅读全文
摘要:二叉搜索树迭代器 实现一个二叉搜索树迭代器。你将使用二叉搜索树的根节点初始化迭代器。 调用 next() 将返回二叉搜索树中的下一个最小的数。 注意:next() 和hasNext() 操作的时间复杂度是O(1),并使用 O(h) 内存,其中 h 是树的高度。 维护一个栈,先将根结点的左子树全部压栈
阅读全文
摘要:阶乘后的零 给定一个整数 n,返回 n! 结果尾数中零的数量。 示例 1: 输入: 3 输出: 0 解释: 3! = 6, 尾数中没有零。 示例 2: 输入: 5 输出: 1 解释: 5! = 120, 尾数中有 1 个零.
阅读全文
摘要:分数到小数 给定两个整数,分别表示分数的分子 numerator 和分母 denominator,以字符串形式返回小数。 如果小数部分为循环小数,则将循环的部分括在括号内。 示例 1: 输入: numerator = 1, denominator = 2 输出: "0.5" 示例 2: 输入: nu
阅读全文
摘要:比较版本号 比较两个版本号 version1 和 version2。如果 version1 > version2 返回 1,如果 version1 < version2 返回 -1, 除此之外返回 0。 你可以假设版本字符串非空,并且只包含数字和 . 字符。 . 字符不代表小数点,而是用于分隔数字序
阅读全文
摘要:寻找峰值 峰值元素是指其值大于左右相邻值的元素。 给定一个输入数组 nums,其中 nums[i] ≠ nums[i+1],找到峰值元素并返回其索引。 数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。 你可以假设 nums[-1] = nums[n] = -∞。 示例 1: 输入:
阅读全文
摘要:卷积神经网络各种池化 在卷积神经网络中,我们经常会碰到池化操作,而池化层往往在卷积层后面,通过池化来降低卷积层输出的特征向量,同时改善结果(不易出现过拟合)。图像具有一种"静态性"的属性,这也就意味着在一个图像区域有用的特征极有可能在另一个区域同样适用。因此,为了描述大的图片,一个很自然的想法就是对
阅读全文
摘要:图卷积神经网络 现实世界许多数据都是以graph的形式存储的,比如social networks(社交网络),knowledge graphs(知识图谱),最近有一些研究者把目光投向建立一种通用的神经网络模型处理graph数据。 图上的卷积网络从卷积方式上可以分为两种:1.谱(spectral)卷积
阅读全文
摘要:解码方法 一条包含字母 A-Z 的消息通过以下方式进行了编码: 'A' -> 1 'B' -> 2 ... 'Z' -> 26 给定一个只包含数字的非空字符串,请计算解码方法的总数。 示例 1: 输入: "12" 输出: 2 解释: 它可以解码为 "AB"(1 2)或者 "L"(12)。 示例 2:
阅读全文
摘要:寻找旋转数组中的最小值 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 请找出其中最小的元素。 你可以假设数组中不存在重复元素。 示例 1: 输入: [3,4,5,1,2] 输出: 1 示例 2:
阅读全文
摘要:乘积最大子序列 给定一个整数数组 nums ,找出一个序列中乘积最大的连续子序列(该序列至少包含一个数)。 示例 1: 输入: [2,3,-2,4] 输出: 6 解释: 子数组 [2,3] 有最大乘积 6。 示例 2: 输入: [-2,0,-1] 输出: 0 解释: 结果不能为 2, 因为 [-2,
阅读全文
摘要:逆波兰表达式求值 根据逆波兰表示法,求表达式的值。 有效的运算符包括 +, -, *, / 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。 说明: 整数除法只保留整数部分。 给定逆波兰表达式总是有效的。换句话说,表达式总会得出有效数值且不存在除数为 0 的情况。 示例 1: 输入: ["2"
阅读全文
摘要:直线上最多的点数 给定一个二维平面,平面上有 n 个点,求最多有多少个点在同一条直线上。 示例 1: 输入: [[1,1],[2,2],[3,3]] 输出: 3 解释: ^ | | o | o | o + > 0 1 2 3 4 示例 2: 输入: [[1,1],[3,2],[5,3],[4,1],
阅读全文
摘要:排序链表 在 O(n log n) 时间复杂度和常数级空间复杂度下,对链表进行排序。 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 示例 2: 输入: -1->5->3->4->0 输出: -1->0->3->4->5
阅读全文
摘要:对链表进行插入排序 对链表进行插入排序。 插入排序算法: 示例 1: 输入: 4->2->1->3 输出: 1->2->3->4 到了链表,我们发现一个问题,那就是链表不能从后往前遍历,这就很尴尬了。我本来是尝试找到一个需要移动的节点(即该节点的值比前驱节点的值小),从前往后遍历,直到找到一个节点值
阅读全文
摘要:LRU缓存机制 运用你所掌握的数据结构,设计和实现一个 LRU (最近最少使用) 缓存机制。它应该支持以下操作: 获取数据 get 和 写入数据 put 。 获取数据 get(key) - 如果密钥 (key) 存在于缓存中,则获取密钥的值(总是正数),否则返回 -1。写入数据 put(key, v
阅读全文
摘要:重排链表 给定一个单链表 L:L0→L1→…→Ln-1→Ln ,将其重新排列后变为: L0→Ln→L1→Ln-1→L2→Ln-2→… 你不能只是单纯的改变节点内部的值,而是需要实际的进行节点交换。 示例 1: 给定链表 1->2->3->4, 重新排列为 1->4->2->3. 示例 2: 给定链表
阅读全文
摘要:环形链表II 给定一个链表,返回链表开始入环的第一个节点。 如果链表无环,则返回 null。 说明:不允许修改给定的链表。 进阶:你是否可以不用额外空间解决此题? 链表头是X,环的第一个节点是Y,slow和fast第一次的交点是Z。各段的长度分别是a,b,c,如图所示。环的长度是L。 第一次相遇时s
阅读全文
摘要:环形链表 给定一个链表,判断链表中是否有环。 进阶:你能否不使用额外空间解决此题? 通过使用具有 不同速度 的快、慢两个指针遍历链表,空间复杂度可以被降低至 O(1)O(1)O(1)。慢指针每次移动一步,而快指针每次移动两步。 如果列表中不存在环,最终快指针将会最先到达尾部,此时我们可以返回 fal
阅读全文
摘要:单词拆分 给定一个非空字符串 s 和一个包含非空单词列表的字典 wordDict,判定 s 是否可以被空格拆分为一个或多个在字典中出现的单词。 说明: 拆分时可以重复使用字典中的单词。 你可以假设字典中没有重复的单词。
阅读全文
摘要:复制带随机指针的链表 给定一个链表,每个节点包含一个额外增加的随机指针,该指针可以指向链表中的任何节点或空节点。 要求返回这个链表的深度拷贝。 一种是按照原链表next的顺序依次创建节点,并处理好新链表的next指针,同时把原节点与新节点的对应关系保存到一个hash_map中,然后第二次循环将ran
阅读全文
摘要:只出现一次的数字II 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现了三次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,3,2] 输出: 3 示例 2: 输入: [0,1,0,1,0,1,
阅读全文
摘要:只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来实现吗? 示例 1: 输入: [2,2,1] 输出: 1 示例 2: 输入: [4,1,2,1,2] 输出: 4
阅读全文
摘要:加油站 在一条环路上有 N 个加油站,其中第 i 个加油站有汽油 gas[i] 升。 你有一辆油箱容量无限的的汽车,从第 i 个加油站开往第 i+1 个加油站需要消耗汽油 cost[i] 升。你从其中的一个加油站出发,开始时油箱为空。 如果你可以绕环路行驶一周,则返回出发时加油站的编号,否则返回 -
阅读全文
摘要:分发糖果 老师想给孩子们分发糖果,有 N 个孩子站成了一条直线,老师会根据每个孩子的表现,预先给他们评分。 你需要按照以下要求,帮助老师给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。 相邻的孩子中,评分高的孩子必须获得更多的糖果。 那么这样下来,老师至少需要准备多少颗糖果呢? 示例 1: 输
阅读全文
摘要:克隆图 克隆一张无向图,图中的每个节点包含一个 label (标签)和一个 neighbors (邻接点)列表 。 OJ的无向图序列化: 节点被唯一标记。 我们用 # 作为每个节点的分隔符,用 , 作为节点标签和邻接点的分隔符。 例如,序列化无向图 {0,1,2#1,2#2,2}。 该图总共有三个节
阅读全文
摘要:分割回文串 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回符合要求的最少分割次数。 示例: 输入: "aab" 输出: 1 解释: 进行一次分割就可将 s 分割成 ["aa","b"] 这样两个回文子串。
阅读全文
摘要:分割回文串 给定一个字符串 s,将 s 分割成一些子串,使每个子串都是回文串。 返回 s 所有可能的分割方案。 示例: 输入: "aab" 输出: [ ["aa","b"], ["a","a","b"] ]
阅读全文
摘要:最长连续序列 给定一个未排序的整数数组,找出最长连续序列的长度。 要求算法的时间复杂度为 O(n)。 示例: 输入: [100, 4, 200, 1, 3, 2] 输出: 4 解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。
阅读全文
摘要:单词接龙 给定两个单词(beginWord 和 endWord)和一个字典,找到从 beginWord 到 endWord 的最短转换序列的长度。转换需遵循如下规则: 说明: 如果不存在这样的转换序列,返回 0。 所有单词具有相同的长度。 所有单词只由小写字母组成。 字典中不存在重复的单词。 你可以
阅读全文
摘要:单词接龙II 给定两个单词(beginWord 和 endWord)和一个字典 wordList,找出所有从 beginWord 到 endWord 的最短转换序列。转换需遵循如下规则: 说明: 如果不存在这样的转换序列,返回一个空列表。 所有单词具有相同的长度。 所有单词只由小写字母组成。 字典中
阅读全文
摘要:1.今天我就介绍一下深度学习,不会讲太细的东西,也不会有太多的数学的公式。 2.现在深度学习能做的事情还非常有限,为什么要去了解深度学习呢?我觉至少有两个方面,可以忽悠比人或者不被别人忽悠 3.这张图展现了人工智能,机器学习,深度学习的关系。深度学习是机器学习现在最火的研究热点 4.下面我给出了近2
阅读全文
摘要:验证回文串 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例 2: 输入: "race a car" 输出:
阅读全文
摘要:124.二叉树中的最大路径和 给定一个非空二叉树,返回其最大路径和。 本题中,路径被定义为一条从树中任意节点出发,达到任意节点的序列。该路径至少包含一个节点,且不一定经过根节点。 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [-10,9,20,null,null,15,7]
阅读全文
摘要:买卖股票的最佳时机III 给定一个数组,它的第 i 个元素是一支给定的股票在第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你最多可以完成 两笔 交易。 注意: 你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [3,3,5,0,0,3,1,4] 输出:
阅读全文
摘要:给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6,4] 输出: 7 解释: 在第
阅读全文
摘要:不同的子序列 给定一个字符串 S 和一个字符串 T,计算在 S 的子序列中 T 出现的个数。 一个字符串的一个子序列是指,通过删除一些(也可以不删除)字符且不干扰剩余字符相对位置所组成的新字符串。(例如,"ACE" 是 "ABCDE" 的一个子序列,而 "AEC" 不是) 示例 1: 输入: S =
阅读全文
摘要:买卖股票的最佳时机 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(股
阅读全文
摘要:二叉树展开为链表 给定一个二叉树,原地将它展开为链表。 例如,给定二叉树 将其展开为:
阅读全文
摘要:将有序数组转化为二叉搜索树 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它
阅读全文
摘要:从中序与后序遍历序列构造二叉树 根据一棵树的中序遍历与后序遍历构造二叉树。 注意:你可以假设树中没有重复的元素。 例如,给出 中序遍历 inorder = [9,3,15,20,7] 后序遍历 postorder = [9,15,7,20,3] 返回如下的二叉树: 3 / \ 9 20 / \ 15
阅读全文
摘要:对称二叉树 给定一个二叉树,检查它是否是镜像对称的。 例如,二叉树 [1,2,2,3,4,4,3] 是对称的。 但是下面这个 [1,2,2,null,3,null,3] 则不是镜像对称的: 说明: 如果你可以运用递归和迭代两种方法解决这个问题,会很加分。
阅读全文
摘要:搜索旋转排序数组 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时
阅读全文
摘要:恢复二叉搜索树 二叉搜索树中的两个节点被错误地交换。 请在不改变其结构的情况下,恢复这棵树。 示例 1: 输入: [1,3,null,null,2] 输出: [3,1,null,null,2] 示例 2: 输入: [3,1,4,null,null,2] 输出: [2,1,4,null,null,3]
阅读全文
摘要:验证二叉搜索树 给定一个二叉树,判断其是否是一个有效的二叉搜索树。 假设一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数。 节点的右子树只包含大于当前节点的数。 所有左子树和右子树自身必须也是二叉搜索树。 示例 1: 输入: 输出: true 示例 2: 输入: 输出: false
阅读全文
摘要:不同的二叉搜索树 给定一个整数 n,求以 1 ... n 为节点组成的二叉搜索树有多少种? 示例: 输入: 3 输出: 5 解释: 给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 动态规划问题,自己看了题目之后感觉无从下手,还是去看了网上的解题报告。。。。。 大概是这个意思: 给出的n代表
阅读全文
摘要:不同的二叉搜索树2 给定一个整数 n,生成所有由 1 ... n 为节点所组成的二叉搜索树。 示例: 输入: 3 输出: [ [1,null,3,2], [3,2,null,1], [3,1,null,null,2], [2,1,3], [1,null,2,null,3] ] 解释: 以上的输出对应
阅读全文
摘要:复制IP地址 给定一个只包含数字的字符串,复原它并返回所有可能的 IP 地址格式。 示例: 输入: "25525511135" 输出: ["255.255.11.135", "255.255.111.35"]
阅读全文
摘要:92.反转链表 反转从位置 m 到 n 的链表。请使用一趟扫描完成反转。 说明:1 ≤ m ≤ n ≤ 链表长度。 示例: 输入: 1->2->3->4->5->NULL, m = 2, n = 4 输出: 1->4->3->2->5->NULL 详解见图:
阅读全文
摘要:格雷编码 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个位数的差异。 给定一个代表编码总位数的非负整数 n,打印其格雷编码序列。格雷编码序列必须以 0 开头。 示例 1: 输入: 2 输出: [0,1,3,2] 解释: 00 - 0 01 - 1 11 - 3 10 - 2 对于给
阅读全文
摘要:子集 给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: [1,2,2] 输出: [ [2], [1], [1,2,2], [2,2], [1,2], [] ]
阅读全文
摘要:扰乱字符串 给定一个字符串 s1,我们可以把它递归地分割成两个非空子字符串,从而将其表示为二叉树。 下图是字符串 s1 = "great" 的一种可能的表示形式。 在扰乱这个字符串的过程中,我们可以挑选任何一个非叶节点,然后交换它的两个子节点。 例如,如果我们挑选非叶节点 "gr" ,交换它的两个子
阅读全文
摘要:分隔链表 给定一个链表和一个特定值 x,对链表进行分隔,使得所有小于 x 的节点都在大于或等于 x 的节点之前。 你应当保留两个分区中每个节点的初始相对位置。 示例: 输入: head = 1->4->3->2->5->2, x = 3 输出: 1->2->2->4->3->5
阅读全文
摘要:删除重复数组的重复项 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素最多出现两次,返回移除后数组的新长度。 不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。 示例 1: 给定 nums = [1,1,1,2,2,3], 函数应返回新长度 le
阅读全文
摘要:单词搜索 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例: board = [ ['A','B','C','E'], ['S','F','C
阅读全文
摘要:子集 给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。 说明:解集不能包含重复的子集。 示例: 输入: nums = [1,2,3] 输出: [ [3], [1], [2], [1,2,3], [1,3], [2,3], [1,2], [] ]
阅读全文
摘要:组合 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n = 4, k = 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4], ] 采用回溯算法。这是一道 NP 难问题,时间复杂度没办法提高,用一个循环递
阅读全文
摘要:最小覆盖子串 给定一个字符串 S 和一个字符串 T,请在 S 中找出包含 T 所有字母的最小子串。 示例: 输入: S = "ADOBECODEBANC", T = "ABC" 输出: "BANC" 说明: 如果 S 中不存这样的子串,则返回空字符串 ""。 如果 S 中存在这样的子串,我们保证它是
阅读全文
摘要:搜索二维矩阵 编写一个高效的算法来判断 m x n 矩阵中,是否存在一个目标值。该矩阵具有如下特性: 每行中的整数从左到右按升序排列。 每行的第一个整数大于前一行的最后一个整数。 示例 1: 输入: matrix = [ [1, 3, 5, 7], [10, 11, 16, 20], [23, 30
阅读全文
摘要:文本左右对齐 给定一个单词数组和一个长度 maxWidth,重新排版单词,使其成为每行恰好有 maxWidth 个字符,且左右两端对齐的文本。 你应该使用"贪心算法"来放置给定的单词;也就是说,尽可能多地往每行中放置单词。必要时可用空格 ' ' 填充,使得每行恰好有 maxWidth 个字符。 要求
阅读全文
摘要:第k个排列 给出集合 [1,2,3,…,n],其所有元素共有 n! 种排列。 按大小顺序列出所有排列情况,并一一标记,当 n = 3 时, 所有排列如下: 给定 n 和 k,返回第 k 个排列。 说明: 给定 n 的范围是 [1, 9]。 给定 k 的范围是[1, n!]。 示例 1: 输入: n
阅读全文
摘要:跳跃游戏 给定一个非负整数数组,你最初位于数组的第一个位置。 数组中的每个元素代表你在该位置可以跳跃的最大长度。 判断你是否能够到达最后一个位置。 示例 1: 输入: [2,3,1,1,4] 输出: true 解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。 给定一个非负整
阅读全文
摘要:螺旋矩阵 给定一个包含 m x n 个元素的矩阵(m 行, n 列),请按照顺时针螺旋顺序,返回矩阵中的所有元素。 示例 1:
阅读全文
摘要:N后问题 n 皇后问题研究的是如何将 n 个皇后放置在 n×n 的棋盘上,并且使皇后彼此之间不能相互攻击。 上图为 8 皇后问题的一种解法。 给定一个整数 n,返回所有不同的 n 皇后问题的解决方案。 每一种解法包含一个明确的 n 皇后问题的棋子放置方案,该方案中 'Q' 和 '.' 分别代表了皇后
阅读全文
摘要:字母异位词分组 给定一个字符串数组,将字母异位词组合在一起。字母异位词指字母相同,但排列不同的字符串。 示例: 输入: ["eat", "tea", "tan", "ate", "nat", "bat"], 输出: [ ["ate","eat","tea"], ["nat","tan"], ["ba
阅读全文
摘要:旋转矩阵 给定一个 n × n 的二维矩阵表示一个图像。 将图像顺时针旋转 90 度。 说明: 你必须在原地旋转图像,这意味着你需要直接修改输入的二维矩阵。请不要使用另一个矩阵来旋转图像。 示例 1: 给定 matrix = [ [1,2,3], [4,5,6], [7,8,9] ], 原地旋转输入
阅读全文
摘要:接雨水 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 感谢 Marcos 贡献此图。 示例: 输入: [
阅读全文
摘要:缺失的第一个正数 给定一个未排序的整数数组,找出其中没有出现的最小的正整数。 示例 1: 输入: [1,2,0] 输出: 3 示例 2: 输入: [3,4,-1,1] 输出: 2 示例 3: 输入: [7,8,9,11,12] 输出: 1 说明: 你的算法的时间复杂度应为O(n),并且只能使用常数级
阅读全文
摘要:组合总数 给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。 candidates 中的数字可以无限制重复被选取。 说明: 所有数字(包括 target)都是正整数。 解集不能包含重复的组合。 示例
阅读全文
摘要:在排序数组中查找元素的第一个和最后一个位置 给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。 你的算法时间复杂度必须是 O(log n) 级别。 如果数组中不存在目标值,返回 [-1, -1]。 示例 1: 输入: nums = [5
阅读全文
摘要:搜索旋转排序数组 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时
阅读全文
摘要:最长有效括号 给定一个只包含 '(' 和 ')' 的字符串,找出最长的包含有效括号的子串的长度。 示例 1: 输入: "(()" 输出: 2 解释: 最长有效括号子串为 "()" 示例 2: 输入: ")()())" 输出: 4 解释: 最长有效括号子串为 "()()" 设置两个指针,一个表示左括号
阅读全文
摘要:下一个排列 实现获取下一个排列的函数,算法需要将给定数字序列重新排列成字典序中下一个更大的排列。 如果不存在下一个更大的排列,则将数字重新排列成最小的排列(即升序排列)。 必须原地修改,只允许使用额外常数空间。 以下是一些例子,输入位于左侧列,其相应输出位于右侧列。1,2,3 → 1,3,23,2,
阅读全文
摘要:与所有单词相关联的字串 给定一个字符串 s 和一些长度相同的单词 words。在 s 中找出可以恰好串联 words 中所有单词的子串的起始位置。 注意子串要与 words 中的单词完全匹配,中间不能有其他字符,但不需要考虑 words 中单词串联的顺序。 示例 1: 输入: s = "barfoo
阅读全文
摘要:K个一组翻转链表 给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序。 示例 : 给定这个链表:1->2->3->4->5 当 k = 2 时,应当返回: 2->1->4->3-
阅读全文
摘要:两两交换链表中的节点 给定一个链表,两两交换其中相邻的节点,并返回交换后的链表。 示例: 给定 1->2->3->4, 你应该返回 2->1->4->3.
阅读全文
摘要:生成括号对数 给出 n 代表生成括号的对数,请你写出一个函数,使其能够生成所有可能的并且有效的括号组合。 例如,给出 n =3,生成结果为: [ "((()))", "(()())", "(())()", "()(())", "()()()" ]
阅读全文
摘要:删除链表的第n个节点 给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。 示例: 说明: 给定的 n 保证是有效的。 进阶: 你能尝试使用一趟扫描实现吗? 摘要 本文适用于初学者。它介绍了以下内容: 链表的遍历和删除其末尾的第 n 个元素。 解决方案 方法一:两次遍历算法 思路 我们
阅读全文
摘要:盛最多水的容器 给定 n 个非负整数 a1,a2,...,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0)。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 说明:你不能倾斜容器,且 n 的
阅读全文
摘要:Z字形变换 将字符串 "PAYPALISHIRING" 以Z字形排列成给定的行数: P A H N A P L S I I G Y I R 之后从左往右,逐行读取字符:"PAHNAPLSIIGYIR" 实现一个将字符串进行指定行数变换的函数: string convert(string s, int
阅读全文
摘要:两个排序数组的中位数 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。 请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。 你可以假设 nums1 和 nums2 不同时为空。 示例 1: nums1 = [1, 3] nums2 = [2] 中
阅读全文
摘要:无重复字符的最长子串 给定一个字符串,找出不含有重复字符的最长子串的长度。 示例 1: 输入: "abcabcbb" 输出: 3 解释: 无重复字符的最长子串是 "abc",其长度为 3。 示例 2: 输入: "bbbbb" 输出: 1 解释: 无重复字符的最长子串是 "b",其长度为 1。 示例
阅读全文
摘要:给定一个整数数组和一个目标值,找出数组中和为目标值的两个数。 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用。 示例: 给定 nums = [2, 7, 11, 15], target = 9 因为 nums[0] + nums[1] = 2 + 7 = 9 所以返回 [0, 1] 方
阅读全文
摘要:RNNs and Language modeling in TensorFlow From feed-forward to Recurrent Neural Networks (RNNs) In the last few weeks, we've seen how feed-forward and
阅读全文
摘要:Lecture note 5: word2vec + manage experiments Word2vec Most of you are probably already familiar with word embedding and understand the importance of
阅读全文
摘要:Convolutions in TensorFlow Convolutions without training You might already be familiar with the term "convolution" from a mathematical or physical con
阅读全文
摘要:Lecture note 4: Eager execution and interface Eager execution Eager execution is (1) a NumPy-like library for numerical computation with support for G
阅读全文
摘要:Linear and Logistic Regression in TensorFlow Graphs and sessions TF Ops: constants, variables, functions TensorBoard Lazy loading Linear Regression: P
阅读全文
摘要:TensorFlow Ops 1. Fun with TensorBoard In TensorFlow, you collectively call constants, variables, operators as ops. TensorFlow is not just a software
阅读全文
摘要:Lecture note 1: Introduction to TensorFlow Why TensorFlow TensorFlow was originally created by researchers at Google as a single infrastructure for ma
阅读全文
摘要:Java Syntax Specification Programs <compilation unit> ::= <package declaration>? <import declarations>? <type declarations>? Declarations <package dec
阅读全文
摘要:java:方法的虚分派(virtual dispatch)和方法表(method table) Java方法调用的虚分派 虚分配(Virtual Dispatch) 首先从字节码中对方法的调用说起。Java的bytecode中方法的调用实现分为四种指令: invokevirtual为最常见的情况,包
阅读全文
摘要:λ演算 λ演算(英文 lambda calculus, λ-calculus)是一套从数学逻辑中发展,以变量绑定和替换的规则,来研究函数如何抽象化定义,函数如何被应用以及递归形式系统。它在20世纪30年代首次发表。Lambda演算作为一种广泛用途的计算模型,可以清晰地定义什么是一个可计算函数,而任何
阅读全文
摘要:Live variable analysis In compiler theory, live variable analysis(or simply livenesss analysis) is a classic data-flow analysis performed by compilers
阅读全文
摘要:深入理解Java垃圾回收机制 垃圾回收机制的意义 java语言中一个显著的特点就是引入了java回收机制,是C++程序员最头疼的内存管理问题迎刃而解,它使得java程序员在编写程序的时候不在考虑内存管理。由于有个垃圾回收机制,java中的额外对象不在有"作用域"的概念,只有对象的引用才有"作用域"。
阅读全文
摘要:结构化操作语义 50年代是计算机语言兴起的年代,这一阶段的早期,计算机语言的设计往往要强调其"方便"的一面,而比较忽略其"严格"的一面,因而对语言的语义,甚至语法,未下严格的定义,从语言设计者和语言使用者对同一语言的语义缺乏共同的理解,造成一定程度的混乱。后来,在50年代和60年代间,面向语法的编译
阅读全文
摘要:函数副作用 在计算机科学中,函数副作用指当调用函数时,除了返回函数值之外,还对主调用函数产生附加的影响。例如修改全局变量(函数外的变量)或修改参数。 函数副作用会给程序设计带来不必要的麻烦,给程序带来十分难以查找的错误,并降低程序的可读性。严格的函数式语言要求函数必须无副作用。 下面是函数的副作用相
阅读全文
摘要:闭包的概念、形式与应用 什么是闭包? 闭包并不是什么新奇的概念,它早在高级语言开始发展的年代就产生了。闭包(Closure)是词法闭包(Lexical Closure)的简称。闭包是由函数及其相关的引用环境组合而成的实体(即:闭包=函数+引用环境)。 函数只是一段可执行代码,编译后就"固化"了,每个
阅读全文
摘要:数据流 引子 编译器后端会对前端生成的中间代码做很多优化,也就是在保证程序语义不变的前提下,提高程序执行的效率或减少代码size等优化目目标。优化需要依靠代码分析给出的"指导信息"来相应地改进代码,而代码分析中最重要的就是数据流分析。另外数据流分析是程序静态分析的基础。所以掌握数据流分析对编译后端极
阅读全文
摘要:信息流 信息安全需要解决的问题 访问控制问题:访问控制的基本任务时保证对客体的所有直接访问都是被认可的。它通过对信息的读,写,更改和删除的控制,保证系统的安全性和有效性,以免受偶然的和蓄意的侵犯。访问控制是一套为信息系统规定的安全策略和支持这些安全策略的执行机制来实现的。 信息流控制问题:信息流是D
阅读全文
摘要:图灵机 图灵机(英文: Turing machine),又称确定图灵机,是图灵与1936年提出的一种抽象计算模型,其更抽象的意义为一种数学逻辑机,可以看作等价于任何有限逻辑数学过程的终极强大逻辑机器。 图灵机的基本思想 图灵的基本思想是用机器来模型人们用纸笔进行数学运算的过程,他把这样的过程看作下列
阅读全文
摘要:拒绝服务攻击 Dos攻击试图通过完全地阻碍或阻碍服务器所提供的一些正常服务来破坏服务的可用性。攻击尝试耗尽一些与服务相关的重要系统资源。例如,一个对Web服务器发起的洪泛攻击,攻击者发起相当多的虚假请求,使得服务器几乎不可能及时地响应来自用户的正常请求。 拒绝服务攻击 拒绝服务攻击简介 拒绝服务(D
阅读全文
摘要:通过混合编程分析的方法和机器学习预测Web应用程序的漏洞 由于时间和资源的限制,web软件工程师需要支持识别出有漏洞的代码。一个实用的方法用来预测漏洞代码可以提高他们安全审计的工作效率。在这篇文章中,作者提出使用混合(静态和动态)代码属性来识别输入验证和输入检查的代码模式以用来标识web应用程序的漏
阅读全文
摘要:防火墙与入侵防护系统 防火墙能够有效地保护本地系统或网络免受基于网络的威胁,同时支持通过广域网或Internet访问外部世界。 防火墙的必要性 企业,政府部分和其他一些机机构的信息系统都经历了一个稳定的发展过程: 集中式数据处理系统,包括一个可支持多终端与其直接连接的中央大型机系统。 局域网(LAN
阅读全文
摘要:恶意软件 我们所关心的威胁是针对应用程序、实用程序(utility program,如编辑器,编译器)以及内核级(kernel-level)程序的威胁 恶意软件的类型 名称 描述 病毒 当其执行时,设法将自己复制到其他可执行代码中的恶意软件。如果复制成功,就称这个可执行代码被感染了。当被感染的可执行
阅读全文
摘要:密码学 符号说明: D(K,Y) 用密钥K和对称算法解密密文Y D(PRa,Y) 用A的私钥PRa和非对称算法解密密文Y D(PUa,Y) 用A的公钥PRa和非对称算法解密密文Y E(K,X) 用密钥K和对称算法加密明文X E(PRa,,X) 用A的私钥和对称算法加密明文X E(PUa,X) 用A的
阅读全文
摘要:计算机安全专有名词 特性(property):在Bell-Lapadula安全模型中使用的安全原则,它规定主体无权向安全级别比它底的客体写 访问控制表(Access Control List,ACL):与客体(例如文件)相关的列表,它确定了相关主题(比如用户)对客体所具有的的访问权限级别(比如读、写
阅读全文
摘要:入侵检测 对于通过网络连接的系统来说,一个重要的安全问题是由用户或软件引起的恶意或者至少是不期望发生的非法入侵。用户非法入侵可能采用的方式是在未经授权的情况下登录到计算机,也可能是已授权用户非法获取更高级别的权限或进行其权限以外的操作。软件非法入侵可能采取的方式有病毒,蠕虫或特洛伊木马程序等。 入侵
阅读全文
摘要:Go语言语法说明 go语言中的go func(){}() 表示以并发的方式调用匿名函数func 深入讲解Go语言中函数new与make的使用和区别 前言 本文主要给大家介绍了Go语言中函数new与make的使用和区别,关于Go语言中new和make是内建的两个函数,主要用来创建分配类型内存。在我们定
阅读全文
摘要:如果是轻量级服务器中,需要在防火墙设置中设置全部TCP+UPD 使用外网的ip作为服务的ip 如果是轻量级服务器,需要设置安全组
阅读全文
摘要:ViewService 在分布式系统中,最常见的场景就是主备架构。但是如果主机不幸宕机,如何正确的通知客户端当前后端服务器的状况成为一个值得研究的问题。本文描述了一种简单的模型用于解决此问题。 背景 以一个分布式的Key-Value数据库为背景。数据库对外提供3个接口 Get(key) Put(ke
阅读全文
摘要:比特币 2010年5月一位程序员用1万个比特币买了这样的2份披萨 在2017年12月16日,也就是大约7年半后,1万个比特币大约值1.8亿美元,也就是大约12亿人民币比特币在7年半时间变得这么值钱,比特币究竟是什么 通过一个虚构的例子,一步一步由浅入深地介绍比特币是什么 小青,小红和小白,小皂4个人
阅读全文
摘要:分布式系统 概述 分布式系统是由自主计算机组成的,这些计算机一起工作,给人的外观是一个单一连贯的系统。一个重要的优点是,它们可以很容易地把运行在不同计算机上的不同应用程序集成到单个系统中。另一个优点是,如果设计恰当,分布式系统可以随底层网络的大小而扩展。这些优点往往带来的代价是更复杂的软件、性能的降
阅读全文
摘要:Hadoop 分布式安装 环境说明:阿里云弹性实例ubuntu16.04 Hadoop版本2.7.6 java版本1.8 所有弹性实例都是在同一个区,ip全部用私有ip 阿里云服务器记得配置安全规则端口 We will create a 3 node cluster system(1-Master,
阅读全文
摘要:Hadoop入坑记 按照官方给的伪分布式配置 etc/hadoop/core-site.xml: <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property>
阅读全文
摘要:A Small Definition of Big Data The term "big data" seems to be popping up everywhere these days. And there seems to be as many uses of this term as th
阅读全文
摘要:Ubuntu中Hadoop环境搭建 JDK安装 方法一:通过命令行直接安装(不建议) 有两种java可以安装oracle-java8-installer以及openjdk (1)安装oracle-java8-installer apt install software-properties-comm
阅读全文
摘要:Linux环境下使用VSCode编译makefile文件的注意事项 首先安装C/C++的两个依赖 在debug,launch会自动的生成下方的launch.json launch.json { // Use IntelliSense to learn about possible attribute
阅读全文
摘要:FIRST集合、FOLLOW集合、SELECT集合以及预测分析表地构造 FIRST集合的简单理解就是推导出的字符串的开头终结符的集合。 FOLLOW集合简单的理解就对于非终结符后面接的第一个终结符。 给定一个由终结符和非终结符组成的字符串,FIRST( FIRST( FOLLOW(X)是可直接跟随与
阅读全文
摘要:神经记忆模型 rnn和lstm的记忆能力实在有限,最多也就记忆十几个时间步长。因此当句子长度增长时或者需要添加先验知识时,seq2seq就不能满足此时对话系统的需求了。比起人工增加RNN隐藏状态大小,我们更愿意任意增加加入模型的知识量,同时对模型本身做出最小限度改变。基本上,我们能用独立存储器——作
阅读全文
摘要:Papers to Read General Introduction LeCun, Y., Bengio, Y., & Hinton, G. (2015). Deep learning. Nature, 521(7553), 436-444.nature14539.pdf [This is a g
阅读全文
摘要:在博客设置中, 使用如下信息 于是用上图中的链接创建新用户, 密码和用户名和之前的一样 注册成功 并且发布成功
阅读全文
摘要:系统: 6.828 / Fall 2014 这个,不用我多介绍了吧,xv6 和jos 的代码都值得好好读的。 6.858 / Fall 2014 / Schedule 这是很多人忽视的6.858, computer system security方面的,lab都做完以后真·受益匪浅,还有video和
阅读全文
摘要:软件过程基础 几位质量管理大师的主要贡献 休哈特(Shewhart) 最早提出"计划-执行-检查"的概念,后来戴明进一步将其发展为PDCA【计划(Plan)、实施(Do)、检查(Check)、行动(Action)】 戴明(Deming) PDCA循环。Deming最早提出PDCA循环的概念,所以又被
阅读全文
摘要:团队软件过程 WBS工作分解结构 作用 提供项目范围基线 可以展现项目整体观 明确各个角色的责任 帮助项目团队理解工作内容,分析项目的风险 创建WBS方法 识别和分析可交付成果及相关工作 确定工作分解结构的结构与编排方法 自上而下逐层细化分解 为工作分解结构组成部分制定和分配标志编码 核实工作分解的
阅读全文
摘要:SCRUM 概述 Scrum是管理软件项目的一个轻量级的敏捷软件方法。划分为多个迭代过程,在Scrum中被称为冲刺(Sprint),通常持续2-4周的时间,开发团队会在此期间完成所承若的一组订单项的开发 依赖于迭代和增量的敏捷方法 Scrum基本过程:1、从客户团队,管理层等渠道输入,由产品负责人来制定产品订单。2、团队从顶部选出本次Sprint最多可以完成的条目(冲刺...
阅读全文
摘要:PSP 基本概念 PSP Personal Software Process,个体软件过程。是一种个体级用于管理和改进软件工程师个人工作方式的持续改进过程 PSP中的基本度量项 时间 采用时间日志的方式 番茄工作法(Pomodoro Technique) 确定你想要干什么 设定一个25分钟的定时器
阅读全文
摘要:CMM CMM的基本概念 CMM(Capability Maturity Model for Software) 它是对于软件组织在定义,实施,度量,控制和改善其软件过程的实践中各个发展阶段的描述。其核心是把软件开发视为一个过程,并根据这一原则对软件开发和维护进行过程监控和研究,以使其更加科学化,标
阅读全文
摘要:第一章 1,软件配置管理用于控制变化 2,软件配置管理(Software Configuration Management, SCM)是指一套管理软件开发和维护过程中所产生的各种中间软件产品的方法和规则,它是控制软件系统演变的学科。 3,软件配置管理是一种标识、组织和控制修改的技术,软件配置管理应用
阅读全文
摘要:(一) 1,IT 项目失败的原因主要有两个: (1)IT 应用项目的复杂性 (2)缺乏合格的IT 项目管理人才 缺乏有效的项目管理是导致IT应用项目失控的直接原因 2,人类有组织的活动逐步分化为两种类型: (1)作业(Operations): 连续不断、周而复始的活动。如工厂日常生产产品的活动。 (
阅读全文
摘要:20' 抛物面,法向量 10' 抛物面 #define DELTA 0.1 #define PI2 2*3.14159 double parabolicSurf[36][10][3]; void MakeParabolicSurface() { for (int a = 0; a < 36; a++
阅读全文
摘要:基于朴素贝叶斯的文本分类算法 摘要:常用的文本分类方法有支持向量机、K-近邻算法和朴素贝叶斯。其中朴素贝叶斯具有容易实现,运行速度快的特点,被广泛使用。本文详细介绍了朴素贝叶斯的基本原理,讨论多项式模型(MM),实现了可运行的代码,并进行了一些数据测试。 关键字:朴素贝叶斯;文本分类 第1章 贝叶斯
阅读全文
摘要:网络 首要问题传输,传的方式结构路径(广播,单播,组播)。 广播:将源端数据发送到一个网络中的所有主机的传播方式。广播使用广播地址。 单播:将源端数据发送到网络中的某个特定主机的传播方式。单播使用特定主机地址。 组播:将源端数据发送到网络中的一组主机的传播方式。组播使用组地址。 网络组播是指通过网络
阅读全文
摘要:图像 基本知识 色彩是物体发出或反射的光在视觉系统中形成的反应,这种反应使人么得以从视觉上区分物体的大小,形状,结构和属性 色彩的三特性 亮度:指发光的明暗程度,由色光所含的能量决定。光源色光的亮度正比于它的光通量(光功率);物体色彩色光的亮度正比于个点反射的光通量光源功率越大,物体放射能力越强,则
阅读全文
摘要:语音 声音作为一种机械波,其基本物理属性是频率和振幅。频率指振动的快慢。振幅是指声波在某个位置上的瞬时强弱。有时候,人们用音高、音质和音强来描述声音的基本特征。实际上,这三个特征都归结为频率和振幅这两个基本属性。其中音高、音质与频率相关。 所谓分贝,是指两个相同的物理量(例A1和A0)之比取以10为
阅读全文
摘要:无损压缩算法 LZ77 算法 LZ77 算法的关键是搜索,即在已经处理过的符号序列(数据流)中,寻找与待编码符号序列相同的模式,如果找到匹配的模式,就设法对这个模式进行索引,也就是生成一个指针,然后输出该索引即可。LZ77 算法巧妙地实现了这个处理。为了帮助读者理解算法原理,我们用图 5-8 描述
阅读全文
摘要:多媒体基本概念 什么是媒体? 媒体(Media)就是指信息的载体,其本质是信息传播的技术和手段。 媒体有哪些,每种媒体的特点? ITU(国际电信联盟)把媒体分为五大类 第一类感觉媒体:感觉媒体是指直接作用于人的感觉器官、从而为人的感知系统所接受的信息形态或媒体形式。感觉媒体主要有文字、声音、图形、图
阅读全文
摘要:电子商务的定义 电子是手段,商务是目的。广义上使用各种电子工具从事商务活动,侠义上主要利用Internet从事商务活动。 电子商务发展 电子邮件阶段à信息发布阶段à电子商务阶段 慧聪网是国内B2B电子商务领域的首家上市公司 三大流程 资金流,信息流,物流 电子商务优势和问题 优势:高效率低成本。突破
阅读全文
摘要:众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式,便成了解决这一矛盾的主要手段。 大 家都知道,正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通
阅读全文
摘要:Java 注解 注解基础知识点 定义:注解(Annotation),也叫元数据。一种代码级别的说明。它是JDK1.5及以后版本引入的一个特性,与类、接口、枚举是在同一个层次。它可以声明在包、类、字段、方法、局部变量、方法参数等的前面,用来对这些元素进行说明,注释。 作用分类: 编写文档:通过代码里标
阅读全文
摘要:java泛型 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: public class GenericTest { public static void main(String[] args){ List list=new ArrayList(); list.add("qqy
阅读全文
摘要:Java的反射机制 JAVA反射机制是在运行状态中,对于任意一个类,都能够知道这个类所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射机制。 JAVA反射(反射)机制:"程序运行时,允许改变程序结构或变量类型,这种语言称为
阅读全文
摘要:Java的动态代理 例子: 1.Subject接口 public interface Subject { public void doSomething(); public void callHome(); } 2.Subject的实现类RealSubject public class RealSu
阅读全文
摘要:JavaWeb 请求和响应 请求 当你在Web浏览器中输入一个URL时,浏览器将根据你的要求创建并发送请求,该请求包含所输入的URL以及一些与浏览器本身相关的信息。 响应 当服务器收到这个请求时将返回一个响应,该响应包括与该请求相关的信息以及位于指定URL(如果有的话)的数据。直到浏览器解析该响应并
阅读全文
摘要:AOP 今天我要和大家分享的是 AOP(Aspect-Oriented Programming)这个东西,名字与 OOP 仅差一个字母,其实它是对 OOP 编程方式的一种补充,并非是取而代之。翻译过来就是"面向方面编程",可我更倾向于翻译为"面向切面编程"。它听起有些的神秘,为什么呢?当你看完这篇文
阅读全文