01 2021 档案
摘要:题目描述 LeetCode 三道 Path Sum 的题目,给定一棵二叉树和一个路径和targetSum,分别求问: LeetCode 112. Path Sum 满足条件的从root到leaf的路径是否存在; LeetCode 113. Path Sum II 满足条件的从root到leaf的路径
阅读全文
摘要:组合数计算 计算组合数的题目及其变体还是比较常见的,这里记录一下几种经典解法。 我们以一个典型问题为例进行讨论: LeetCode 62. Unique Paths,问的是 mxn 的矩阵从左上走到右下有几种走法,每次只能向下走或者向右走。 动态规划 第一种解法是DP,采用递推公式 \(C(m, n
阅读全文
摘要:Ubuntu 18.04 LTS 启用 WakeOnLAN 本文记录局域网内,网络唤醒主机的办法,需要BIOS开启WOL支持。 1. 本机安装ethtool sudo apt install ethtool -y 2. 查看本机MAC地址 ifconfig -a 本机网卡名为eno1,有的名叫eth
阅读全文
摘要:LeetCode 315. 计算右侧小于当前元素的个数 You are given an integer array nums and you have to return a new counts array. The counts array has the property where cou
阅读全文
摘要:LeetCode 201. Bitwise AND of Numbers Range 题目描述 Given a range [m, n] where 0 ⇐ m ⇐ n ⇐ 2147483647, return the bitwise AND of all numbers in this range
阅读全文
摘要:LeetCode 162. Find Peak Element 题目描述 A peak element is an element that is strictly greater than its neighbors. Given an integer array nums, find a pea
阅读全文
摘要:旋转数组查找元素 一共四道旋转数组查找元素的题目: 无重复数组查找指定元素, 有重复数组查找指定元素, 无重复数组查找最小元素, 有重复数组查找最小元素。 LeetCode 33. Search in Rotated Sorted Array 题目描述 You are given an intege
阅读全文
摘要:在做一道简单题的时候,遇到了一个奇怪的问题。 LeetCode 532. K-diff Pairs in an Array 题目描述 Given an array of integers nums and an integer k, return the number of unique k-dif
阅读全文
摘要:LintCode 386. 最多有k个不同字符的最长子字符串 题目描述 给定字符串S,找到最多有k个不同字符的最长子串T。 样例 样例 1: 输入: S = "eceba" 并且 k = 3 输出: 4 解释: T = "eceb" 样例 2: 输入: S = "WORLD" 并且 k = 4 输出
阅读全文
摘要:LintCode 550. 最常使用的K个单词II 难度困难题 题目描述 在实时数据流中找到最常使用的k个单词. 实现TopK类中的三个方法: TopK(k), 构造方法 add(word), 增加一个新单词 topk(), 得到当前最常使用的k个单词. 样例 样例 1: 输入: TopK(2) a
阅读全文
摘要:LintCode 1029. 寻找最便宜的航行旅途(最多经过k个中转站) 题目描述 有n个城市被一些航班所连接。每个航班 (u,v,w) 从城市u出发,到达城市v,价格为w。 给定城市数目 n,所有的航班flights。你的任务是找到从起点src到终点站dst的最便宜线路的价格,而旅途中最多只能中转
阅读全文
摘要:LintCode 570. 寻找丢失的数 II 问题描述 给一个由 1 - n 的整数随机组成的一个字符串序列,其中丢失了一个整数,请找到它。 样例 样例1 输入: n = 20 和 str = 19201234567891011121314151618 输出: 17 解释: 19'20'1'2'3
阅读全文
摘要:LintCode 535. 打劫房屋 III 题目描述 在上次打劫完一条街道之后和一圈房屋之后,窃贼又发现了一个新的可以打劫的地方,但这次所有的房子组成的区域比较奇怪,聪明的窃贼考察地形之后,发现这次的地形是一颗二叉树。与前两次偷窃相似的是每个房子都存放着特定金额的钱。你面临的唯一约束条件是:相邻的
阅读全文
摘要:LintCode 614. 二叉树的最长连续子序列 II 问题描述 给定一棵二叉树,找到最长连续序列(单调且相邻节点值相差为1)路径的长度(节点数)。 路径起点跟终点可以为二叉树的任意节点。 样例 例1: 输入: {1,2,0,3} 输出: 4 解释: 1 / \ 2 0 / 3 0-1-2-3 例
阅读全文
摘要:90. k数和 II 问题描述 给定n个不同的正整数,整数k(1<= k ⇐ n)以及一个目标数字。 在这n个数里面找出K个数,使得这K个数的和等于目标数字,你需要找出所有满足要求的方案。 样例 样例 1: 输入: [1,2,3,4], k = 2, target = 5 输出: [[1,4],[2
阅读全文
摘要:LintCode 1674. 倒可乐 CAT 专属题目 中等难度题 替代链接 HDU 1495. 题目描述 给定一个容积为 s 的装满可乐的瓶子和两个容积分别为 n 和 m 的空杯子, 其中 n + m = s. 问能否通过在三个容器之间来回倒可乐来平分这 s 体积的可乐? 如果可以, 返回最少倾倒
阅读全文
摘要:LintCode 797. 到达一个数字 也是 LeetCode 754. Reach a Number 更新 其实第一份错误代码的内存问题不是占用内存过多,而是 heap-use-after-free。问题出在 auto&& p = q.front(); q.pop(); 使用的引用类型,但是对象
阅读全文
摘要:LintCode 1691. 买卖股票的最佳时机V 题目描述 给出一个股票n天的价格,每天最多只能进行一次交易,可以选择买入一支股票或卖出一支股票或放弃交易,输出能够达到的最大利润值 样例 样例 1: 给出 a = [1,2,10,9], 返回 16 输入: [1,2,10,9] 输出: 16 解释
阅读全文
摘要:LintCode 69. 二叉树的层次遍历 问题描述 给出一棵二叉树,返回其节点值的层次遍历(逐层从左往右访问) 样例 样例 1: 输入:{1,2,3} 输出:[[1],[2,3]] 解释: 1 / \ 2 3 它将被序列化为{1,2,3} 样例 2: 输入:{1,#,2,3} 输出:[[1],[2
阅读全文
摘要:229. 栈排序 题目描述 请设计一种方法将一个栈进行升序排列 (最大的数在最上面)。 你可以使用另外一个栈来辅助操作,但不可将这些数复制到另外一个数据结构中 (如,数组)。 样例 给一个栈:[4,2,1,3], 排序之后:[1,2,3,4], 最右边是栈顶。 注意事项 时间复杂度为O(n^2)的算
阅读全文
摘要:1671. 玩游戏 CAT 专属题目 hard 难度 题目描述 N 个人在玩游戏,每局游戏有一个裁判和 N-1 个平民玩家。给出一个数组 A, A[i] 代表玩家 i 至少需要成为平民 A[i] 次,返回最少进行游戏的次数。 样例 样例 1: 输入:A = [2, 2, 2, 2] 输出:3 解析:
阅读全文
摘要:1668. 区间最小覆盖 CAT 专属题目 数轴上有 n 个区间. 现在需要在数轴上选取一些点, 使得任意一个区间内至少包含一个点. 返回最少选取的点的数目. 样例 样例 1: 输入: [(1,5), (4,8), (10,12)] 输出: 2 解释: 选择两个点: 5, 10 第一个区间 [1,
阅读全文
摘要:LintCode 57. 三数之和 给出一个有n个整数的数组S,在S中找到三个整数a, b, c,找到所有使得a + b + c = 0的三元组。 样例 例1: 输入:[2,7,11,15] 输出:[] 例2: 输入:[-1,0,1,2,-1,-4] 输出:[[-1, 0, 1],[-1, -1,
阅读全文
摘要:LintCode 376. 二叉树的路径和 给定一个二叉树,找出所有路径中各节点相加总和等于给定 目标值 的路径。 一个有效的路径,指的是从根节点到叶节点的路径。 样例 样例1: 输入: {1,2,4,2,3} 5 输出: [[1, 2, 2],[1, 4]] 说明: 这棵树如下图所示: 1 / 2
阅读全文
摘要:LeetCode 453. Minimum Moves to Equal Array Elements Given a non-empty integer array of size n, find the minimum number of moves required to make all a
阅读全文
摘要:记录有环单链表的两道题: leetcode 141 leetcode 142 Leetcode 141 Linked List Cycle 第一道题比较简单,说的是给出一个单链表,判断是否有环。 这是双指针的简单运用。我们给出快慢两个指针fast和slow,一个每次向前走两步,一个每次向前走一步。
阅读全文
摘要:本文记录conda环境的搭建。 直接使用官方提供的一键搭建脚本: wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh chmod +x Miniconda3-latest-Linux-x86_64.sh
阅读全文
摘要:Ubuntu 18.04 LTS docker环境搭建 方法一:一键搭建脚本 官方脚本: curl -sSL https://get.docker.com/ | sh 阿里云脚本: curl -fsSL https://get.docker.com | bash -s docker --mirror
阅读全文
摘要:Docker一般用于后端程序使用,默认是不需要GUI的。但是有时候我们希望,前端程序也能用上Docker这种简单的打包方式,方便管理。这里记录下Docker运行GUI程序的方法: 首先,我们Docker镜像需要本身提供GUI,比如默认的centOS和Ubuntu都是不带GUI的,需要手动安装X11。
阅读全文

浙公网安备 33010602011771号