python
hello_dlut
这个作者很懒,什么都没留下…
展开
-
python 简易学习教程 1
python简易学习指南原创 2017-12-07 21:38:06 · 188 阅读 · 0 评论 -
110.balanced-binary-tree
给定一个二叉树,确定它是高度平衡的。对于这个问题,一棵高度平衡二叉树的定义是:一棵二叉树中每个节点的两个子树的深度相差不会超过 1。案例 1:给出二叉树 [3,9,20,null,null,15,7]: 3 / \ 9 20 / \ 15 7返回 true 。案例 2:给出二叉树 [1,2,2,3,3,null,null,4,4]: 1 ...原创 2018-03-27 20:04:04 · 138 阅读 · 0 评论 -
111.minimum-depth-of-binary-tree
给定一个二叉树,找出其最小深度。最小深度是从根节点到最近叶节点的最短路径的节点数量。解题思路: 还是用万能的递归方法。。。解题代码: if not root: return 0 left=self.minDepth(root.left) right=self.minDepth(root.right) if no...原创 2018-03-27 20:24:44 · 89 阅读 · 0 评论 -
112.path-sum
给定一棵二叉树和一个总和,确定该树中是否存在根到叶的路径,这条路径的所有值相加等于给定的总和。例如:给定下面的二叉树和 总和 = 22, 5 / \ 4 8 / / \ 11 13 4 / \ \ 7 2 1...原创 2018-03-27 20:46:32 · 118 阅读 · 0 评论 -
645.set-mismatch
The set S originally contains numbers from 1 to n. But unfortunately, due to the data error, one of the numbers in the set got duplicated to another number in the set, which results in repetition of o...原创 2018-03-28 12:33:49 · 148 阅读 · 0 评论 -
599.minimum-index-sum-of-two-lists
假设Andy和Doris想在晚餐时选择一家餐厅,并且他们都有一个表示最喜爱餐厅的列表,每个餐厅的名字用字符串表示。你需要帮助他们用最少的索引和找出他们共同喜爱的餐厅。 如果答案不止一个,则输出所有答案并且不考虑顺序。 你可以假设总是存在一个答案。示例 1:输入:["Shogun", "Tapioca Express", "Burger King", "KFC"]["Piatti", "The .原创 2018-03-28 13:04:46 · 289 阅读 · 0 评论 -
594.longest-harmonious-subsequence
和谐数组是指一个数组里元素的最大值和最小值之间的差别正好是1。现在,给定一个整数数组,你需要在所有可能的子序列中找到最长的和谐子序列的长度。示例 1:输入: [1,3,2,2,5,2,3,7]输出: 5原因: 最长的和谐数组是:[3,2,2,2,3].说明: 输入的数组长度最大不超过20,000.解题思路: 使用counter来计数。解题代码: ans=0 ...原创 2018-03-28 13:32:50 · 860 阅读 · 0 评论 -
575. Distribute Candies
Given an integer array with even length, where different numbers in this array represent different kinds of candies. Each number means one candy of the corresponding kind. You need to distribute these...原创 2018-03-28 13:39:10 · 96 阅读 · 0 评论 -
389.find-the-difference
给定两个字符串 s 和 t,它们只包含小写字母。字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。请找出在 t 中被添加的字母。 示例:输入:s = "abcd"t = "abcde"输出:e解释:'e' 是那个被添加的字母。解题思路: 把所有的字母通过ord进行转码,然后相加得到两个和(map),然后一减就可以得到被添加的那个字母,再通过chr转码。 解题代...原创 2018-03-28 13:49:04 · 156 阅读 · 0 评论 -
349.intersection-of-two-arrays
给定两个数组,写一个函数来计算它们的交集。例子: 给定 num1= [1, 2, 2, 1], nums2 = [2, 2], 返回 [2].提示:每个在结果中的元素必定是唯一的。我们可以不考虑输出结果的顺序。解题思路: 遍历第一个数组,并存到一个集合中去,然后再遍历第二个数组,如果第二个数组中存在集合中的元素,则将其放入ans中,并删除集合中的这个元素。解题代码: d...原创 2018-03-28 19:14:40 · 167 阅读 · 0 评论 -
350.intersection-of-two-arrays-ii
给定两个数组,写一个方法来计算它们的交集。例如:给定 nums1 = [1, 2, 2, 1], nums2 = [2, 2], 返回 [2, 2].注意: 输出结果中每个元素出现的次数,应与元素在两个数组中出现的次数一致。 我们可以不考虑输出结果的顺序。跟进:如果给定的数组已经排好序呢?你将如何优化你的算法?如果 nums1 的大小比 nums2 小很多,哪种方法更优?如果nums2的元...原创 2018-03-28 19:34:29 · 138 阅读 · 0 评论 -
205.isomorphic-strings
给定两个字符串 s 和 t,判断它们是否是同构的。如果 s 中的字符可以被替换最终变成 t ,则两个字符串是同构的。所有出现的字符都必须用另一个字符替换,同时保留字符的顺序。两个字符不能映射到同一个字符上,但字符可以映射自己本身。例如,给定 "egg", "add", 返回 true.给定 "foo", "bar", 返回 false.给定 "paper", "title", 返回 tru原创 2018-03-28 19:47:24 · 154 阅读 · 0 评论 -
290.word-pattern
给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循这种模式。这里的 遵循 指完全匹配,例如在pattern里的每个字母和字符串 str 中的每个非空单词存在双向单映射关系。例如:pattern = "abba", str = "dog cat cat dog", 返回true pattern = "abba", str = "dog cat cat fish", 返回...原创 2018-03-28 20:03:24 · 173 阅读 · 0 评论 -
263.ugly-number
编写程序判断给定的数是否为丑数。丑数就是只包含质因子 2, 3, 5 的正整数。例如, 6, 8 是丑数,而 14 不是,因为它包含了另外一个质因子 7。注意:1 也可以被当做丑数。输入不会超过32位整数的范围。解题思路: 将这个数一直除以2、3、5这三个数最后剩下1就说明这个数是丑数解题代码: if num<=0: return False ...原创 2018-03-28 20:09:24 · 114 阅读 · 0 评论 -
python备忘录
写函数的时候 对于默认参数 必须要写在最后面!!!那如何在外部也能调用一个在局部里修改了的全局变量呢. 首先我们在外部定义一个全局变量 a=None, 然后再 fun() 中声明 这个 a 是来自外部的 a. 声明方式就是 global a. 然后对这个外部的 a 修改后, 修改的效果会被施加到外部的 a 上. 所以我们将能看到运行完 fun(), a 的值从 None 变成了 20.Class ...原创 2018-04-21 18:53:31 · 330 阅读 · 0 评论 -
108.convert-sorted-array-to-binary-search-tree
将一个按照升序排列的有序数组,转换为一棵高度平衡二叉搜索树。此题中,一个高度平衡二叉树是指一个二叉树每个节点的左右两个子树的高度差的绝对值不超过1。 示例:给定有序数组: [-10,-3,0,5,9],一种可行答案是:[0,-3,9,-10,null,5],它可以表示成下面这个高度平衡二叉搜索树: 0 / \ -3 9 / / -10 5解题思...原创 2018-03-27 19:41:06 · 80 阅读 · 0 评论 -
104.maximum-depth-of-binary-tree
给定一个二叉树,找出其最大深度。二叉树的深度为根节点到最远叶节点的最长路径上的节点数。案例:给出二叉树 [3,9,20,null,null,15,7], 3 / \ 9 20 / \ 15 7返回最大深度为 3 。解题思路: 函数迭代左右两边的分支即可解题代码: if not root: return 0 ...原创 2018-03-27 15:22:03 · 84 阅读 · 0 评论 -
python tips
bai,shi,ge = map(int, str(i)) 序列解包 i是一个三位数 分别得到个十百位原创 2018-03-14 23:00:09 · 234 阅读 · 0 评论 -
89.rotate-array
将包含 n 个元素的数组向右旋转 k 步。例如,如果 n = 7 , k = 3,给定数组 [1,2,3,4,5,6,7] ,向右旋转后的结果为 [5,6,7,1,2,3,4]。注意:尽可能找到更多的解决方案,这里最少有三种不同的方法解决这个问题。[显示提示]提示:要求空间复杂度为 O(1)解题思路: 先把前n-k个数对调顺序,再把后k个数对调顺序,然后把整个数组对调顺序,是不是很神奇!解...原创 2018-03-25 21:47:25 · 70 阅读 · 0 评论 -
217.contains-duplicate
给定一个整数数组,判断是否存在重复元素。如果任何值在数组中出现至少两次,函数应该返回 true。如果每个元素都不相同,则返回 false。解题思路: 先把数组排序,遍历一遍数组如果存在前后两个相等的元素则返回true,否则返回false。解题代码: nums.sort() for i in range(0,len(nums)-1): if...原创 2018-03-25 21:55:43 · 128 阅读 · 0 评论 -
448.find-all-numbers-disappeared-in-an-array
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.Find all the elements of [1, n] inclusive that do not appear in this array.Could yo...原创 2018-03-25 23:24:35 · 82 阅读 · 0 评论 -
643.maximum-average-subarray-i
给定 n 个整数,找出平均数最大且长度为 k 的子数组,并输出该最大平均数。例:输入: [1,12,-5,-6,50,3], k = 4输出: 12.75解释: 最大平均数 (12-5-6+50)/4 = 51/4 = 12.75 注意:1 <= k <= n <= 30,000。所给数据范围 [-10,000,10,000]。解题思路: 定义一个队列,长度只能为k,...原创 2018-03-26 09:52:15 · 78 阅读 · 0 评论 -
605. Can Place Flowers
Suppose you have a long flowerbed in which some of the plots are planted and some are not. However, flowers cannot be planted in adjacent plots - they would compete for water and both would die.Given ...原创 2018-03-26 10:16:02 · 74 阅读 · 0 评论 -
566.reshape-the-matrix
在MATLAB中,有一个非常有用的函数 reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:输入: nums = [...原创 2018-03-26 17:54:36 · 275 阅读 · 0 评论 -
561.array-partition-i
给定长度为 2n 的数组, 你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从1 到 n 的 min(ai, bi) 总和最大。示例 1:输入: [1,4,3,2]输出: 4解释: n 等于 2, 最大总和为 4 = min(1, 2) + min(3, 4).提示:n 是正整数,范围在 [1, 10000].数组中的元素范...原创 2018-03-26 18:17:29 · 104 阅读 · 0 评论 -
136.single-number
给定一个整数数组,除了某个元素外其余元素均出现两次。请找出这个只出现一次的元素。 备注:你的算法应该是一个线性时间复杂度。 你可以不用额外空间来实现它吗?解题思路: 将所有的数进行异或运算最后得出的结果就是多出来的那个数。解题代码: for i in range(1,len(nums)): nums[0] ^= nums[i] r...原创 2018-03-26 18:30:54 · 129 阅读 · 0 评论 -
007.reverse-integer
给定一个范围为 32 位 int 的整数,将其颠倒。例 1:输入: 123输出: 321 例 2:输入: -123输出: -321 例 3:输入: 120输出: 21解题思路: 先要判断该数字是否大于0,通过一个变量来保存该数字的符号位,然后提取该数字的最后一位,变成ans的第一位,直到遍历此数字的所有位。解题代码: sign = x<0 and -1 or ...原创 2018-03-27 13:41:01 · 74 阅读 · 0 评论 -
069.sqrtx
实现 int sqrt(int x) 函数。计算并返回 x 的平方根。x 保证是一个非负整数。 案例 1:输入: 4输出: 2案例 2:输入: 8输出: 2说明: 8 的平方根是 2.82842..., 由于我们想返回一个整数,小数部分将被舍去。解题思路: 通过使用二分法来解决,此问题解题代码: left=0 right=x whil...原创 2018-03-27 14:08:51 · 157 阅读 · 0 评论 -
100.same-tree
给定两个二叉树,写一个函数来检查它们是否相同。如果两棵树在结构上相同并且节点具有相同的值,则认为它们是相同的。 示例 1:输入 : 1 1 / \ / \ 2 3 2 3 [1,2,3], [1,2,3]输出: true示例 2:输入 : 1 1 ...原创 2018-03-27 14:40:09 · 124 阅读 · 0 评论 -
101.symmetric-tree
给定一个二叉树,检查它是否是它自己的镜像(即,围绕它的中心对称)。例如,这个二叉树 [1,2,2,3,4,4,3] 是对称的。 1 / \ 2 2 / \ / \3 4 4 3 但是下面这个 [1,2,2,null,3,null,3] 则不是: 1 / \ 2 2 \ \ 3 3 说明:如果你可以递归地和迭代地解决它就奖励你...原创 2018-03-27 15:17:06 · 86 阅读 · 0 评论 -
numpy教程
numpy 的属性 ndim:维度 shape:行数和列数 size:元素个数array = np.array([[1,2,3],[2,3,4]]) #列表转化为矩阵print(array)"""array([[1, 2, 3], [2, 3, 4]])"""print('number of dim:',array.ndim) # 维度# numbe...转载 2018-04-21 19:46:42 · 107 阅读 · 0 评论