- 博客(102)
- 资源 (1)
- 收藏
- 关注
原创 Leetcode 39. 组合总和(回溯)—— python
1. 题目描述给定一个无重复元素的数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的数字可以无限制重复被选取。说明:所有数字(包括 target)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [2,3,6,7], target = 7,所求解集...
2019-07-16 15:36:48
470
1
原创 Leetcode 40. 组合总和 II(回溯) —— python
1. 题目描述给定一个数组 candidates 和一个目标数 target ,找出 candidates 中所有可以使数字和为 target 的组合。candidates 中的每个数字在每个组合中只能使用一次。说明:所有数字(包括目标数)都是正整数。解集不能包含重复的组合。示例 1:输入: candidates = [10,1,2,7,6,1,5], target = 8,所求解...
2019-07-16 11:38:49
277
原创 Leetcode 90.子集II(回溯)—— python
1. 题目描述给定一个可能包含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: [1,2,2]输出:[[2],[1],[1,2,2],[2,2],[1,2],[]]2. 解题思路这题思路也是回溯法,跟题目求子集https://blog.csdn.net/u013075024/article/details/93...
2019-07-15 19:30:36
519
原创 Leetcode 452. 用最少数量的箭引爆气球(贪心)——python
前几天在补充数据方面的业务知识,有四五天没刷leetcode了,有点生疏的感觉。1. 题目描述链接:https://leetcode-cn.com/problems/minimum-number-of-arrows-to-burst-balloons在二维空间中有许多球形的气球。对于每个气球,提供的输入是水平方向上,气球直径的开始和结束坐标。由于它是水平的,所以y坐标并不重要,因此只要知道开...
2019-07-11 17:23:35
484
原创 《增长黑客》-----阅读笔记
1. 增长目标获取用户激发活跃提高留存增加收入传播推荐2. 数据分析(1)定性分析:对事物的性质做出判断,它是什么(2)定量分析:对事物的数量进行分析,它有多少数据分析的过程:提出假设 -> 设计方案 -> 分析数据 -> 验证或推翻假设3. 从以下几个问题着手如果我们的产品出现了某个现象(比如流量井喷或暴跌),原因可能是什么? 你会采取什么方式找出问...
2019-07-06 09:22:24
371
原创 Leetcode 128. 最长连续序列 ---- python
1. 题目描述给定一个未排序的整数数组,找出最长连续序列的长度。要求算法的时间复杂度为 O(n)。示例:输入: [100, 4, 200, 1, 3, 2]输出: 4解释: 最长连续序列是 [1, 2, 3, 4]。它的长度为 4。2. 解题思路题目要求算法时间复杂度为 O(n),所以不能排序,因为排序算法的时间复杂度至少为 O(nlogn).然后想到用字典。第一步,set去重...
2019-07-04 10:58:16
436
原创 Leetcode 594. 最长和谐子序列 ---- python
1. 题目描述和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。示例 1:输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].2. 解题思路用python自带的collection统计出现次数,比自己统计次数加入字典快得多。然后找出子序列长度...
2019-07-01 17:24:30
299
原创 Leetcode 217. 存在重复元素 ---- python
1.题目描述给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数返回 true。如果数组中每个元素都不相同,则返回 false。示例 1:输入: [1,2,3,1]输出: true示例 2:输入: [1,2,3,4]输出: false示例 3:输入: [1,1,1,3,3,4,3,2,4,2]输出: true2. 解题思路把元素放在set()集合里...
2019-07-01 11:37:43
134
原创 Leetcode 1. 两数之和 ---- python
哈哈哈这是leetcode的第一题,18年12月份的时候第一次做leetcode的题,超出时间限制了。当时还不懂怎么写测试用例。现在重新做题,总结每种类型的题目的做题思路。1. 题目描述给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例...
2019-07-01 11:26:48
124
原创 编程题--疯狂序列----京东大数据笔试
1. 题目描述东东从京京那里了解到有一个无限长的数字序列: 1, 2, 2, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, …(数字k在该序列中正好出现k次)。东东想知道这个数字序列的第n项是多少,你能帮帮他么?输入描述:输入包括一个整数n(1 ≤ n ≤ 10^18)输出描述:输出一个整数,即数字序列的第n项输入例子1:169输出例子1:182. 解...
2019-06-29 22:55:05
1125
原创 多益网络-人工智能与大数据-笔试
(二)静态链接库不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。(一)静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,lib中的指令都全部被直接包含在最终生成的exe文件中了。但是若使用dll动态链接库,该dll不必被包含在最终的exe文件中,执行文件执行时可以动态地引用和卸载这个与exe独立的dll文件。今天下午做了多益网络提前批的笔试,考的知识点都是本科时学的计算机基础知识,包括数据结构、计算机网络、数据库,完全没有大数据相关的题目。
2019-06-29 21:39:05
2362
1
原创 Leetcode 17. 电话号码的字母组合 ---- python
1. 题目描述给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。示例:输入:“23”输出:[“ad”, “ae”, “af”, “bd”, “be”, “bf”, “cd”, “ce”, “cf”].2. 解题思路可用树的思想3. 代码实现class Solution(object): ...
2019-06-27 16:11:38
349
原创 Leetcode 78. 子集 ---- python(待刷第二遍)
1.题目描述给定一组不含重复元素的整数数组 nums,返回该数组所有可能的子集(幂集)。说明:解集不能包含重复的子集。示例:输入: nums = [1,2,3]输出:[[3],[1],[2],[1,2,3],[1,3],[2,3],[1,2],[]]2. 解题思路这题可以用回溯法,位运算法,但思路都比较难懂,以后再把这两种解法放上来。下面代码用的是一种比较巧妙的...
2019-06-25 17:01:37
360
原创 Leetcode 55. 跳跃游戏----python(待刷第二遍)
1. 题目描述给定一个非负整数数组,你最初位于数组的第一个位置。数组中的每个元素代表你在该位置可以跳跃的最大长度。判断你是否能够到达最后一个位置。示例 1:输入: [2,3,1,1,4]输出: true解释: 从位置 0 到 1 跳 1 步, 然后跳 3 步到达最后一个位置。示例 2:输入: [3,2,1,0,4]输出: false解释: 无论怎样,你总会到达索引为 3 的位...
2019-06-25 10:48:59
491
原创 Leetcode 9. 回文数 ---- python
1. 题目描述判断一个整数是否是回文数。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。示例 1:输入: 121输出: true示例 2:输入: -121输出: false解释: 从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入: 10输出: false解释: 从右向左读, 为 01 。因此它不是一个回文数。...
2019-06-23 21:36:46
178
原创 Leetcode 205. 同构字符串 ---- python
1. 题目描述给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换得到 t ,那么这两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。示例 1:输入: s = “egg”, t = “add”输出: true示例 2:输入: s = “foo”, t = “bar”输出:...
2019-06-22 14:09:05
178
原创 Leetcode 409. 最长回文串 ----python
1. 题目描述给定一个包含大写字母和小写字母的字符串,找到通过这些字母构造成的最长的回文串。在构造过程中,请注意区分大小写。比如 “Aa” 不能当做一个回文字符串。注意:假设字符串的长度不会超过 1010。示例 1:输入:“abccccdd”输出:7解释:我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。2. 解题思路回文串的特点:回文串的总长度既可以为...
2019-06-22 11:36:24
288
原创 Leetcode 242. 有效的字母异位词----python
1. 题目描述给定两个字符串 s 和 t ,编写一个函数来判断 t 是否是 s 的字母异位词。示例 1:输入: s = “anagram”, t = “nagaram”输出: true示例 2:输入: s = “rat”, t = “car”输出: false说明:你可以假设字符串只包含小写字母。2. 解题思路两字符串字母异位,满足两个特征:(1)长度相等(2)包含的字母...
2019-06-22 10:40:52
146
原创 操作系统----校招笔试面试常考内容总结
1. 进程的五种基本状态(1) 五状态模型创建状态:进程在创建时需要申请一个空白PCB,向其中填写控制和管理进程的信息,完成资源分配。如果创建工作无法完成,比如资源无法满足,就无法被调度运行,把此时进程所处状态称为创建状态就绪状态:进程已经准备好,已分配到所需资源,只要分配到CPU就能够立即运行执行状态:进程处于就绪状态被调度后,进程进入执行状态阻塞状态:正在执行的进程由于某些事件(I/...
2019-06-22 10:02:04
3141
原创 Leetcode 402. 移掉K位数字(贪心+栈)----python
前言:这题真的有点难的,改了几遍之后把自己给绕晕了。。。然后花了点时间把思路捋清楚了。要考虑比较多种情况。1. 题目描述给定一个以字符串表示的非负整数 num,移除这个数中的 k 位数字,使得剩下的数字最小。注意:num 的长度小于 10002 且 ≥ k。num 不会包含任何前导零。示例 1 :输入: num = “1432219”, k = 3输出: “1219”解释: 移...
2019-06-21 16:42:49
786
原创 Leetcode 435. 无重叠区间(贪心)----python
1. 题目描述给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。注意:可以认为区间的终点总是大于它的起点。区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。示例 1:输入: [ [1,2], [2,3], [3,4], [1,3] ]输出: 1解释: 移除 [1,3] 后,剩下的区间没有重叠。示例 2:输入: [ [1,2], [1,2],...
2019-06-21 11:25:07
1384
原创 计算机网络----校招笔试面试常考内容总结
一.五层协议的体系结构学习计算机网络时我们一般采用折中的办法,也就是中和OSI和TCP/IP的优点,采用一种只有五层协议的体系结构,这样既简洁又能将概念阐述清楚。应用层应用层(application-layer)的任务是通过应用进程间的交互来完成特定网络应用。应用层协议定义的是应用进程(进程:主机中正在运行的程序)间的通信和交互的规则。对于不同的网络应用需要不同的应用层协议。在互联网中应...
2019-06-20 19:17:58
5241
3
原创 数据库----校招笔试面试常考内容总结
这些是在一二月份找实习时复习的知识点,有些摘自网页,有些是自己整理的,如有侵权,请告知!1.什么是存储过程?有哪些优缺点?存储过程是一些预编译的SQL语句。更加直白的理解:存储过程可以说是一个记录集,它是由一些T-SQL语句组成的代码块,这些T-SQL语句代码像一个方法一样实现一些功能(对单表或多表的增删改查),然后再给这个代码块取一个名字,在用到这个功能的时候调用他就行了。存储过程是一...
2019-06-20 12:27:35
2581
原创 LR 逻辑回归模型
1. 原理LR虽然叫逻辑回归,但LR即可以用来回归,也可以用来分类,主要是二分类。LR可以被认为是一个被sigmoid函数所“归一化”后的结果。2. 算法步骤(1)寻找h函数(即hypothesis);(2)构造J函数(损失函数);(3) 想办法使得J函数最小并求得回归参数(θ)2.1 寻找h函数在线性回归中:h(θ)=θTX=θ0+θ1x1+θ2x2+......+θnxn h(...
2019-06-20 11:35:28
317
原创 Leetcode 376. 摆动序列----python
1、题目描述如果连续数字之间的差严格地在正数和负数之间交替,则数字序列称为摆动序列。第一个差(如果存在的话)可能是正数或负数。少于两个元素的序列也是摆动序列。例如, [1,7,4,9,2,5] 是一个摆动序列,因为差值 (6,-3,5,-7,3) 是正负交替出现的。相反, [1,4,7,2,5] 和 [1,7,4,5,5] 不是摆动序列,第一个序列是因为它的前两个差值都是正数,第二个序列是因为...
2019-06-19 23:34:14
818
1
原创 Leetcode 455. 分发饼干----python
1. 题目描述假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。对每个孩子 i ,都有一个胃口值 gi ,这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j ,都有一个尺寸 sj 。如果 sj >= gi ,我们可以将这个饼干 j 分配给孩子 i ,这个孩子会得到满足。你的目标是尽可能满足越多数量的孩子,并输出这个最大数值。注意:你可以假设胃口...
2019-06-19 16:16:43
192
原创 Leetcode 739. 每日温度(数组中元素与下一个比它大的元素之间的距离)----python
1.题目描述根据每日气温列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高超过该日的天数。如果之后都不会升高,请在该位置用 0 来代替。例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73],你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]。提示:气温 列表长度的范围是 [1, 30000]。每个...
2019-06-19 11:57:25
551
原创 Leetcode 20.有效的括号 ----python
1. 题目描述:给定一个只包括 ‘(’,’)’,’{’,’}’,’[’,’]’ 的字符串,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。注意:空字符串可被认为是有效字符串。2. 解题思路(1)法一:可用字符串的思路处理(参考leetcode讨论区代码)(2)法二:借助栈进行处理,用栈处理这种基本方法还是要会的,基础知识要打劳,虽...
2019-06-19 10:38:39
245
3
原创 Leetcode 19. 删除链表的倒数第N个节点 ----python
1. 题目描述给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.2.解题思路这题要分情况讨论(1)当链表为空或只有一个节点时,返回结果为None(2)当删除的元素为链表首元素时,返回head.next...
2019-06-17 10:53:56
221
原创 Leetcode 445. 两数相加 II ----python
1. 题目描述给定两个非空链表来代表两个非负整数。数字最高位位于链表开始位置。它们的每个节点只存储单个数字。将这两数相加会返回一个新的链表。你可以假设除了数字 0 之外,这两个数字都不会以零开头。示例:输入: (7 -> 2 -> 4 -> 3) + (5 -> 6 -> 4)输出: 7 -> 8 -> 0 -> 72. 解题思路此题若...
2019-06-17 10:01:37
629
原创 Leetcode 83. 删除排序链表中的重复元素----python
题目描述:给定一个排序链表,删除所有重复的元素,使得每个元素只出现一次。示例 1:输入: 1->1->2输出: 1->2示例 2:输入: 1->1->2->3->3输出: 1->2->3解题思路:这道题思路很简单,就是判断上一个节点的值和下一个节点的值是否相等,若相等,则删除节点。循环判断。我觉得这道题主要是考链表删除操作...
2019-06-15 18:23:17
151
原创 Leetcode 21. 合并两个有序链表 ----python
题目描述:将两个有序链表合并为一个新的有序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例:输入:1->2->4, 1->3->4输出:1->1->2->3->4->4解题思路:先开辟一个头节点的空间(我先假设头节点值为0,方便后面尾插法)然后遍历两个链表,取出更小的那一个链表的节点,然后指针往后移动一个位置。代...
2019-06-15 17:26:07
137
原创 Leetcode 206. 反转链表 ----python
刷题是真的有用的,这道题我第一遍做花了将近三个小时才看懂解题思路,然后慢慢理解。隔了一个月之后,做第二遍,不到10分钟就做出来了。一点一滴的积累也许很慢,但这是最踏实的方法,要对自己有耐心。题目描述:反转一个单链表。示例:输入: 1->2->3->4->5->NULL输出: 5->4->3->2->1->NULL解题思路:本...
2019-06-15 11:52:22
207
原创 Leetcode 637. 二叉树的层平均值-------python
题目描述:给定一个非空二叉树, 返回一个由每层节点平均值组成的数组.示例 1:输入:3/ \9 20/ \15 7输出: [3, 14.5, 11]解释:第0层的平均值是 3, 第1层是 14.5, 第2层是 11. 因此返回 [3, 14.5, 11].解题思路:二叉树的层次遍历,每一层求平均值。代码实现:# Definition for a binary...
2019-06-15 00:09:01
277
原创 Leetcode 160. 相交链表-----python
160. 相交链表题目描述:编写一个程序,找到两个单链表相交的起始节点。如下面的两个链表:解题思路:python代码实现:class Solution(object): def getIntersectionNode(self, headA, headB): """ :type head1, head1: ListNode ...
2019-06-14 11:54:30
288
原创 Leetcode 617. 合并二叉树----python
给定两个二叉树,想象当你将它们中的一个覆盖到另一个上时,两个二叉树的一些节点便会重叠。你需要将他们合并为一个新的二叉树。合并的规则是如果两个节点重叠,那么将他们的值相加作为节点合并后的新值,否则不为 NULL 的节点将直接作为新二叉树的节点。示例 1:解题思路:自顶向下进行合并,分情况进行讨论:(1)当tree1,tree2都为空时,返回None(2)当tree1为空时,返回tre...
2019-06-13 11:18:34
515
原创 Leetcode 226. 翻转二叉树---python
题目描述:翻转一棵二叉树。示例:输入:解题思路:采用自顶向下左右子树交换的方法,先把右子树保存下来,避免覆盖,然后交换。代码实现: def invertTree(self, root): if(root == None): return rightTree = root.right root.right ...
2019-06-13 10:26:41
317
原创 Leetcode 543. 二叉树的直径-----python
给定一棵二叉树,你需要计算它的直径长度。一棵二叉树的直径长度是任意两个结点路径长度中的最大值。这条路径可能穿过根结点。示例 :给定二叉树解题思路:注意看[4,2,1,3]或[5,2,1,3],是左右两棵子树路径加起来的。python代码实现:class Solution(object): def __init__(self): self.res = 0 ...
2019-06-12 11:31:44
599
原创 Leetcode 110. 平衡二叉树-----python
题目描述:给定一个二叉树,判断它是否是高度平衡的二叉树。本题中,一棵高度平衡二叉树定义为:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。解题思路:利用递归求每一棵树的两棵子树的最大深度,若深度绝对值相差>1,则返回falsepython代码实现:# Definition for a binary tree node.class TreeNode: def _...
2019-06-12 10:46:12
449
原创 leetcode 589. N叉树的前序遍历---python
给定一个 N 叉树,返回其节点值的前序遍历。例如,给定一个 3叉树:代码实现:# Definition for a Node.class Node: def __init__(self, val,children): self.val = val self.children = childrenclass Solution: def _...
2019-06-11 11:39:12
283
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅