leetcode之Maximum Product of Three Numbers

题目: 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 注意: 给定的整型数组长度范围是[3,104],数组中所有的元素范围是[-1000, 1000...

2018-07-31 16:39:47

阅读数:15

评论数:0

leetcode之Find All Numbers Disappeared in an Array(448)

题目: 给定一个范围在  1 ≤ a[i] ≤ n ( n = 数组大小 ) 的 整型数组,数组中的元素一些出现了两次,另一些只出现一次。 找到所有在 [1, n] 范围之间没有出现在数组中的数字。 您能在不使用额外空间且时间复杂度为O(n)的情况下完成这个任务吗? 你可以假定返回的数组不算...

2018-07-31 11:49:30

阅读数:12

评论数:0

leetcode之Third Maximum Number(414)

题目: 给定一个非空数组,返回此数组中第三大的数。如果不存在,则返回数组中最大的数。要求算法时间复杂度必须是O(n)。 示例 1: 输入: [3, 2, 1] 输出: 1 解释: 第三大的数是 1. 示例 2: 输入: [1, 2] 输出: 2 解释: 第三大的数不存在, ...

2018-07-31 10:38:59

阅读数:14

评论数:0

二叉树的前序、中序、后序遍历

二叉树的前序、中序、后序遍历是树相关的经典问题,也经常被面试官拿来考察面试者的基本功,故对此做一个简单的总结: 先放一棵二叉树: 一、前序遍历: 前序遍历首先访问根结点然后遍历左子树,最后遍历右子树。在遍历左、右子树时,仍然先访问根节点,然后遍历左子树,最后遍历右子树。 若二叉树为空则...

2018-07-30 11:58:14

阅读数:1024

评论数:0

leetcode之Binary Tree Postorder Traversal (145)

题目: 给定一个二叉树,返回它的 后序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [3,2,1] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? python代码1:(递归版) class Sol...

2018-07-30 11:45:21

阅读数:11

评论数:0

leetcode之Binary Tree Inorder Traversal(94)

题目: 给定一个二叉树,返回它的中序 遍历。 示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,3,2] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? python代码1:(递归版): class Soluti...

2018-07-30 11:42:08

阅读数:11

评论数:0

leetcode之Binary Tree Preorder Traversal(144)

题目: 给定一个二叉树,返回它的 前序 遍历。  示例: 输入: [1,null,2,3] 1 \ 2 / 3 输出: [1,2,3] 进阶: 递归算法很简单,你可以通过迭代算法完成吗? python代码1:(递归版) class S...

2018-07-30 11:39:39

阅读数:10

评论数:0

python中extend与append的区别

在python中,append与extend均可在列表中添加元素,但是不同的是extend添加的是一个序列,而append添加的是一个对象,用一个例子来说明二者的区别: append实例: l = ['我','是','中'] l.append(['国','人']) print(l) &...

2018-07-30 11:04:43

阅读数:15

评论数:0

leetcode之Valid Palindrome(125)

题目: 给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写。 说明:本题中,我们将空字符串定义为有效的回文串。 示例 1: 输入: "A man, a plan, a canal: Panama" 输出: true 示例...

2018-07-26 21:33:32

阅读数:10

评论数:0

leetcode之Best Time to Buy and Sell Stock II(122)

题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 设计一个算法来计算你所能获取的最大利润。你可以尽可能地完成更多的交易(多次买卖一支股票)。 注意:你不能同时参与多笔交易(你必须在再次购买前出售掉之前的股票)。 示例 1: 输入: [7,1,5,3,6,4] 输...

2018-07-26 21:31:56

阅读数:10

评论数:0

leetcode之Best Time to Buy and Sell Stock(121)

题目: 给定一个数组,它的第 i 个元素是一支给定股票第 i 天的价格。 如果你最多只允许完成一笔交易(即买入和卖出一支股票),设计一个算法来计算你所能获取的最大利润。 注意你不能在买入股票前卖出股票。 示例 1: 输入: [7,1,5,3,6,4] 输出: 5 解释: 在第 2 天(...

2018-07-26 21:29:35

阅读数:17

评论数:0

leetcode之Pascal's Triangle II(119)

题目: 给定一个非负索引 k,其中 k ≤ 33,返回杨辉三角的第 k 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 3 输出: [1,3,3,1] 进阶: 你可以优化你的算法到 O(k) 空间复杂度吗? python代码1: class Sol...

2018-07-26 21:27:00

阅读数:15

评论数:0

leetcode之Pascal's Triangle(118)

题目: 给定一个非负整数 numRows,生成杨辉三角的前 numRows 行。 在杨辉三角中,每个数是它左上方和右上方的数的和。 示例: 输入: 5 输出: [ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1] ]...

2018-07-26 21:21:17

阅读数:7

评论数:0

leetcode之Path Sum (112)

题目: 给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。 说明: 叶子节点是指没有子节点的节点。 示例:  给定如下二叉树,以及目标和 sum = 22, 5 / \ ...

2018-07-26 21:19:10

阅读数:16

评论数:0

leetcode之Minimum Depth of Binary Tree (111)

题目: 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明: 叶子节点是指没有子节点的节点。 示例: 给定二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 ...

2018-07-26 21:16:57

阅读数:11

评论数:0

leetcode之Balanced Binary Tree(110)

题目: 给定一个二叉树,判断它是否是高度平衡的二叉树。 本题中,一棵高度平衡二叉树定义为: 一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / ...

2018-07-26 21:12:47

阅读数:14

评论数:0

leetcode之Convert Sorted Array to Binary Search Tree(108)

题目: 将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。 本题中,一个高度平衡二叉树是指一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过 1。 示例: 给定有序数组: [-10,-3,0,5,9], 一个可能的答案是:[0,-3,9,-10,null,5],它可以表...

2018-07-26 21:02:40

阅读数:16

评论数:0

面试常问的六大排序算法

先把代码贴上来,以后我会详细解释每一种排序的原理,以下每种代码都经过了验证和代码简化。 1.冒泡排序 def bubble_sort(nums): for i in range(len(nums)): for j in range(len(nums)-i-1): ...

2018-07-26 21:00:33

阅读数:870

评论数:0

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