leetcode
Adamoptimization
这个作者很懒,什么都没留下…
展开
-
447. Number of Boomerangs python
给定平面中所有成对的不同点的n个点,一个“回旋镖”是一个点(i,j,k)的元组,使得i和j之间的距离等于i和k之间的距离。找到回旋镖的数量。题目的难点在于发现‘对于每一个点,有k个距离为d的点,就有k *(k-1)种组合’举例说明,比如有一个点a,和它距离都是1的点有b,c,d,那么一共的组合就有6种,包括:[a, b, c], [a, c, b], [a, b, d], [a, d, b], [...原创 2018-04-21 17:47:15 · 188 阅读 · 0 评论 -
leetcode 27. Remove Element python
给定一个数组(不一定有序)和一个值,就地移除与该值的所有相同的元素并返回新的长度。不要为其他数组分配额外空间,您必须通过在O(1)额外内存中就地修改输入数组来完成此操作。class Solution(object): def removeElement(self, nums, val): """ :type nums: List[int] :...原创 2018-04-06 20:56:23 · 226 阅读 · 0 评论 -
leetcode 1.Twosum python
给定一个整数数组,返回两个数字的索引,两个数字相加为给定的target。利用字典保存给定数组,满足value时直接返回keyclass Solution(object): def twoSum(self, nums, target): """ :type nums: List[int] :type target: int :r...原创 2018-04-06 20:27:38 · 155 阅读 · 0 评论 -
438. Find All Anagrams in a String python
给定一个字符串s和一个非空字符串p,找出s中所有p的字符串的起始索引。Input:s: "cbaebabacd" p: "abc"Output:[0, 6]Explanation:The substring with start index = 0 is "cba", which is an anagram of "abc".The substring with start index = 6 i...原创 2018-04-22 21:06:44 · 241 阅读 · 0 评论 -
409. Longest Palindrome python
给定一个只包含小写或者大写字母的字符串,寻找用这些字母可以组成的最长回文串的长度。大小写敏感,例如"Aa"在这里不认为是一个回文。思路:统计每个字母的出现次数:若字母出现偶数次,则直接累加至最终结果, 若字母出现奇数次,则将其值-1之后累加至最终结果,出现奇数次的字母只算一次class Solution(object): def longestPalindrome(self, s): ...原创 2018-04-22 19:22:38 · 308 阅读 · 0 评论 -
771. Jewels and Stones python
给定字符串J和S,求S中在J中出现的字符总数。class Solution(object): def numJewelsInStones(self, J, S): """ :type J: str :type S: str :rtype: int """ return sum(s in J fo...原创 2018-04-22 19:01:05 · 161 阅读 · 0 评论 -
387. First Unique Character in a String python
给定一个字符串,找到它中的第一个非重复字符并返回它的索引。 如果它不存在,则返回-1。class Solution(object): def firstUniqChar(self, s): """ :type s: str :rtype: int """ ans = -1 Dict = coll...原创 2018-04-22 18:56:02 · 217 阅读 · 0 评论 -
350. Intersection of Two Arrays II python
给定两个数组,写一个函数来计算它们的交集。注意 结果中的每个元素的出现次数应与其在两个数组中同时出现的次数一样多。Example:Given nums1 = [1, 2, 2, 1], nums2 = [2, 2], return [2, 2].class Solution(object): def intersect(self, nums1, nums2): """ ...原创 2018-04-22 18:49:13 · 157 阅读 · 0 评论 -
349. Intersection of Two Arrays python
给定两个数组,写一个函数来计算它们的交集。class Solution(object): def intersection(self, nums1, nums2): """ :type nums1: List[int] :type nums2: List[int] :rtype: List[int] """ ...原创 2018-04-22 18:41:04 · 134 阅读 · 0 评论 -
290. Word Pattern python
给定一个模式pattern和一个字符串str,判断str是否满足相同的pattern。测试用例如题目描述。Examples:pattern = "abba", str = "dog cat cat dog" should return true.pattern = "abba", str = "dog cat cat fish" should return false.pattern = "aaa...原创 2018-04-22 18:38:27 · 233 阅读 · 0 评论 -
leetcode 665. Non-decreasing Array python
给定包含n个整数的数组,至多改变其中一个数字,判断数组是否可以变为非递减有序发现nums[i]>nums[i-1]时,对数组的调整只用考虑两种情况,1.将nums[i]置换为nums[i-1] ,2.将nums[i-1]置换为nums[i]break提前结束了整个循环,continue结束了本轮循环,并开始下一轮循环。class Solution(object): def check...原创 2018-04-12 16:41:39 · 197 阅读 · 0 评论 -
leetcode 661. Image Smoother python
给定表示图像灰度的二维整数矩阵M,您需要设计一个更平滑的图像,使每个单元格的灰度级成为所有8个周围单元格及其自身的平均灰度级(舍入)。 如果一个细胞的周围细胞少于8个,则尽可能多地使用。使用copy函数创建一个数组,再从[0][0]开始对数组元素重新填入。from copy import deepcopy as copyclass Solution(object): def image...原创 2018-04-12 16:09:44 · 498 阅读 · 0 评论 -
leetcode 35. Search Insert Position python
给定一个有序数组和目标值,如果找到目标,则返回索引。 如果没有,按顺序插入后,返回索引二分法class Solution(object): def searchInsert(self, nums, target): """ :type nums: List[int] :type target: int :rtype: int...原创 2018-04-06 21:06:43 · 181 阅读 · 0 评论 -
leetcode 53. Maximum Subarray python
在数组中找到连续的子数组(至少包含一个数字)要求这个数组的总和最大。例如,给定数组[-2,1,-3,4,-1,2,1,-5,4],连续的子阵列[4,-1,2,1]具有最大的总和= 6。即最大子序列和问题class Solution(object): def maxSubArray(self, nums): """ :type nums: List[int]...原创 2018-04-06 21:14:09 · 107 阅读 · 0 评论 -
594. Longest Harmonious Subsequence python
我们定义一个和谐数组是一个数组,其最大值和最小值之间的差值恰好为1。现在,给定一个整数数组,你需要在其所有可能的子序列中找出其最长的和谐子序列的长度。注意,和谐数组不一定要求连续class Solution(object): def findLHS(self, nums): """ :type nums: List[int] :rtype: ...原创 2018-04-21 17:32:52 · 205 阅读 · 0 评论 -
599. Minimum Index Sum of Two Lists python
求两个字符串列表中索引之和最小的公共串class Solution(object): def findRestaurant(self, list1, list2): """ :type list1: List[str] :type list2: List[str] :rtype: List[str] """ ...原创 2018-04-21 17:27:46 · 144 阅读 · 0 评论 -
645. Set Mismatch python
集合S最初包含从1到n的数字。 但不幸的是,由于数据错误,集合中的其中一个数字被复制到集合中的另一个数字,导致重复一个数字并丢失另一个数字。给定一个数组nums,表示错误发生后该数据集的数据状态。 你的任务是首先发现出现两次的数字,然后找到丢失的数字。 以数组的形式返回它们。class Solution(object): def findErrorNums(self, nums): ...原创 2018-04-21 17:10:34 · 278 阅读 · 0 评论 -
720. Longest Word in Dictionary python
class Solution(object): def longestWord(self, words): """ :type words: List[str] :rtype: str """ wset = set(['']) ans = '' for word in sorte...原创 2018-04-20 21:29:35 · 216 阅读 · 0 评论 -
leetcode 811. Subdomain Visit Count python
class Solution(object): def subdomainVisits(self, cpdomains): """ :type cpdomains: List[str] :rtype: List[str] """ ant = collections.Counter() for d...原创 2018-04-20 21:14:56 · 305 阅读 · 0 评论 -
202. Happy Number python
编写一个算法判断某个数字是否是“快乐数”。快乐数的定义过程如下:从任意一个正整数开始,将原数替换为其每一位的平方和,重复此过程会得到两种可能:1.数字=1(此时其值将不再变化),2.进入一个不包含1的无限循环。那些以1为终止的数字即为“快乐数”。Example: 19 is a happy number12 + 92 = 8282 + 22 = 6862 + 82 = 10012 + 02 + 0...原创 2018-04-23 15:17:20 · 689 阅读 · 0 评论 -
205. Isomorphic Strings python
给定两个字符串s和t,判断它们是否是同构的。如果字符串s可以通过字符替换的方式得到字符串t,则称s和t是同构的。class Solution(object): def isIsomorphic(self, s, t): """ :type s: str :type t: str :rtype: bool """...原创 2018-04-23 15:07:04 · 159 阅读 · 0 评论 -
242. Valid Anagram python
给定字符串s和t,编写函数判断t是否为s的anagram(字谜游戏,由颠倒字母顺序而构成的字[短语])。class Solution(object): def isAnagram(self, s, t): """ :type s: str :type t: str :rtype: bool """ ...原创 2018-04-23 15:05:34 · 224 阅读 · 0 评论 -
LeetCode 695. Max Area of Island
给定二维格子grid,上下左右相邻的1组成岛屿,求岛屿的最大面积。class Solution(object): def maxAreaOfIsland(self, grid): """ :type grid: List[List[int]] :rtype: int """ m = len(grid) ...原创 2018-04-13 16:06:20 · 91 阅读 · 0 评论 -
leetcode 717. 1-bit and 2-bit Characters python
01序列由三种成分构成:10, 11, 0求序列经过解析后,最后一个成分是否为0class Solution(object): def isOneBitCharacter(self,bits): length = len(bits) c = 1 while c <length: if c == length - ...原创 2018-04-13 15:45:07 · 306 阅读 · 1 评论 -
leetcode 674. Longest Continuous Increasing Subsequence python
给定无序整数数组,计算最长连续递增子序列的长度class Solution(object): def findLengthOfLCIS(self, nums): """ :type nums: List[int] :rtype: int """ count = 1 maxcount = 1 ...原创 2018-04-13 15:34:28 · 138 阅读 · 0 评论 -
leetcode 628. Maximum Product of Three Numbers python
给定一个整数数组,输出最大的三个数字的乘积考虑有负数的情况class Solution(object): def maximumProduct(self, nums): """ :type nums: List[int] :rtype: int """ nums.sort() return ma...原创 2018-04-12 15:32:45 · 237 阅读 · 0 评论 -
leetcode 605. Can Place Flowers python
给定数组flowerbed表示一个花床,0表示位置为空,1表示位置非空。花不能相邻种植,即不能出现相邻的1。给定想要种植的花朵数目n,判断是否可以满足要求。使用continue跳出循环class Solution(object): def canPlaceFlowers(self, flowerbed, n): """ :type flowerbed: Li...原创 2018-04-12 15:27:07 · 376 阅读 · 0 评论 -
leetcode 766. Toeplitz Matrix python
如果从左上角到右下角的每个对角线具有相同的元素,则矩阵是Toeplitz。现在给出一个M×N矩阵,当且仅当矩阵是Toeplitz时才返回True。class Solution(object): def isToeplitzMatrix(self, matrix): """ :type matrix: List[List[int]] :rtyp...原创 2018-04-14 15:41:27 · 710 阅读 · 0 评论 -
leetcode 746. Min Cost Climbing Stairs python
有n级台阶,每次可以向上跳1至2级,上台阶的总花费为sum(cost[i]), i为所有踩过的台阶。可以从索引为0的步骤开始,或者从索引为1的步骤开始求最小花费。因为每次可以走1层或者2层,并且可以从0或者从1开始,所以可以得到dp[0]为0,dp[1]为0。从2开始,dp[i]可以由通过dp[i-2]走2层或者通过dp[i-1]走一层到达,而这i-2和i-1层所要花费的值分别为cost[i-2]...原创 2018-04-14 15:38:02 · 335 阅读 · 0 评论 -
leetcode 724. Find Pivot Index python
给定一个整数数组nums,编写一个返回该数组的“pivot”索引的方法。我们将pivot索引定义为索引左边的数字总和等于索引右边数字总和的索引。如果不存在这样的索引,我们应该返回-1。 如果有多个透视索引,则应返回最左侧的索引。class Solution(object): def pivotIndex(self, nums): """ :type nums...原创 2018-04-14 15:26:43 · 401 阅读 · 0 评论 -
leetcode 217. Contains Duplicate python
给定一个整数数组,查找数组是否包含任何重复项。 如果任何值在数组中至少出现两次,则函数应该返回true,并且如果每个元素都不相同,则它应该返回false。常规方法:先排序class Solution(object): def containsDuplicate(self, nums): """ :type nums: List[int] :r...原创 2018-04-08 21:48:17 · 124 阅读 · 0 评论 -
leetcode 189. Rotate Array python
以k个步骤向右旋转n个元素的数组。例如,当n = 7和k = 3时,数组[1,2,3,4,5,6,7]被旋转到[5,6,7,1,2,3,4]。list[:]为整个数组,list[:3]为0,1,2 ,list[3:] 为除去0,1,2剩下元素class Solution(object): def rotate(self, nums, k): """ :typ...原创 2018-04-08 21:42:38 · 301 阅读 · 0 评论 -
leetcode 167. Two Sum II - Input array is sorted python
给定已按升序排序的整数数组,找到两个数字,使它们的和等于特定的目标数字。返回它们的下标加1class Solution(object): def twoSum(self, numbers, target): """ :type numbers: List[int] :type target: int :rtype: List[...原创 2018-04-08 21:04:42 · 143 阅读 · 0 评论 -
leetcode 122. Best Time to Buy and Sell Stock II python
一个数组储存着一只股票的价格走势,第i个元素就可以看做是该股票第i天的价格,你可以买卖股票,无需考虑手上的钱够买多少股计算所有第二天比前一天价格高的值,加起来就是最后的最大收益。class Solution(object): def maxProfit(self, prices): """ :type prices: List[int] :r...原创 2018-04-08 20:50:15 · 78 阅读 · 0 评论 -
leetcode 121. Best Time to Buy and Sell Stock python
给出一个股票的价格序列,买入一次卖出一次,求能获得最大利润。其实就是求一个数组中,后面的数减去前面的数能得到的最大值。扫描数组,用low来标记最低价位,如果遇到更小情况,置换。使用max()函数保留最大利润class Solution(object): def maxProfit(self, prices): """ :type prices: List[i...原创 2018-04-08 20:35:13 · 85 阅读 · 0 评论 -
leetcode 169. Majority Element python
给定一个大小为n的数组,找到其中的“多数元素”。多数元素指的是出现次数超过 ⌊ n/2 ⌋ 次的元素。 假定数组非空,且给定的数组中一定存在多数元素。方法1:排序,因为多数元素存在,所以排序后中位数为多数元素class Solution(object): def majorityElement(self,nums): nums.sort() return n...原创 2018-04-08 16:23:54 · 262 阅读 · 0 评论 -
leetcode 118. Pascal's Triangle python
class Solution(object): def generate(self, numRows): """ :type numRows: int :rtype: List[List[int]] """ list = [] for i in range(0,numRows): ...原创 2018-04-07 22:00:33 · 337 阅读 · 0 评论 -
leetcode 88. Merge Sorted Array python
给定两个有序的整数数组nums1和nums2,将nums2合并入nums1,形成一个有序数组。你可以假设nums1有足够的空间(大小大于或等于m + n)来保存nums2中的其他元素。 nums1和nums2中初始化的元素数量分别为m和n。class Solution(object): def merge(self, nums1, m, nums2, n): """ ...原创 2018-04-07 21:51:12 · 106 阅读 · 0 评论 -
leetcode 414. Third Maximum Number python
给定一个非空数组,返回此数组中的第三个最大数。 如果不存在,则返回最大数量。 时间复杂度必须在O(n)中。class Solution(object): def thirdMax(self, nums): """ :type nums: List[int] :rtype: int """ a = b = c ...原创 2018-04-14 15:47:15 · 196 阅读 · 0 评论 -
leetcode 219. Contains Duplicate II python
给定一个整数数组与一个整数k,当且仅当存在两个不同的下标i和j,满足:nums[i] = nums[j],且| i - j | <= k时返回true,反之返回false。class Solution(object): def containsNearbyDuplicate(self, nums, k): """ :type nums: List[in...原创 2018-04-09 22:14:38 · 92 阅读 · 0 评论