![](https://img-blog.csdnimg.cn/20190927151117521.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
数组
数组
佛系调参
这个作者很懒,什么都没留下…
展开
-
leetcode35-Search Insert Position搜索插入位置
方法:二分查找class Solution: def searchInsert(self, nums: List[int], target: int) -> int: first=0 last=len(nums) while first<last: mid=(first+last)//2 ...原创 2019-02-26 14:25:04 · 98 阅读 · 0 评论 -
leetcode463-Island Perimeter岛屿的周长
给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地0 表示水域。网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。示例...原创 2019-03-21 21:27:52 · 131 阅读 · 0 评论 -
剑指offer50-第一次只出现一次的字符
题目描述在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1(需要区分大小写).注意:因为题目要求返回字符(或者字符出现的位置),一次第二次遍历是也是字符串s,而不是哈希表#方法一:利用数组自己建立个哈希表class Solution: def FirstNotRepeatingCha...原创 2019-03-23 21:36:40 · 130 阅读 · 0 评论 -
剑指offer-数组中重复的数字
题目描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。 数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几次。请找出数组中任意一个重复的数字。 例如,如果输入长度为7的数组{2,3,1,0,2,5,3},那么对应的输出是第一个重复的数字2。#解法一:利用字典。时间和空间复杂度都是O(n)class Solution: # 这里要特别注意~找到任...原创 2019-03-23 23:23:16 · 78 阅读 · 0 评论 -
剑指offer-顺时针打印矩阵python
输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下4 X 4矩阵: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 则依次打印出数字1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,10.python:class Solution: # matrix类型为二维列表,需要返回列表 def pr...原创 2019-04-05 22:05:28 · 141 阅读 · 0 评论 -
快速排序 python
实现思路:两个指针left,right分别指向列表的第二个元素和最后一个元素,然后取一个参考值,默认为第一个列表的第一个元素list[0],称为pivotvalue 然后left指向的值先和参考值pivotvalue进行比较,若list[left]小于或等于pivotvalue值,left就一直向右移动,left+1,直到移动到大于pivotvalue值的地方,停住 right指向的值和参...原创 2019-04-01 22:01:02 · 112 阅读 · 0 评论 -
华为笔试题-明明的随机数
明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N≤1000),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作(同一个测试用例里可能会有多组数据,希望大家能正确处理)。InputParamn...原创 2019-04-02 17:39:38 · 179 阅读 · 0 评论 -
剑指offer-旋转数组的最小数字
题目描述把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。思路:二分查找class Solution: def minNumberInRotateArr...原创 2019-04-02 22:09:56 · 82 阅读 · 0 评论 -
剑指offer-丑数 python
题目描述把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。class Solution: def GetUglyNumber_Solution(self, index): # write code here if...原创 2019-05-27 22:35:39 · 92 阅读 · 0 评论 -
leetcode733-图像渲染
有一幅以二维整数数组表示的图画,每一个整数表示该图画的像素值大小,数值在 0 到 65535 之间。给你一个坐标(sr, sc)表示图像渲染开始的像素值(行 ,列)和一个新的颜色值newColor,让你重新上色这幅图像。为了完成上色工作,从初始坐标开始,记录初始坐标的上下左右四个方向上像素值与初始坐标相同的相连像素点,接着再记录这四个方向上符合条件的像素点与他们对应四个方向上像素值与...原创 2019-03-21 20:28:44 · 210 阅读 · 0 评论 -
leetcode867-转置矩阵
给定一个矩阵A,返回A的转置矩阵。矩阵的转置是指将矩阵的主对角线翻转,交换矩阵的行索引与列索引。示例 1:输入:[[1,2,3],[4,5,6],[7,8,9]]输出:[[1,4,7],[2,5,8],[3,6,9]]解法一:初始化一个新的矩阵来保存答案。尺寸为R x C的矩阵A转置后会得到尺寸为C x R的矩阵ans,对此有ans[c][r] = A[...原创 2019-03-13 11:35:25 · 189 阅读 · 0 评论 -
leetcode66-plus one加一
思路:[1,2,3] ==>"123" ==>123 ==>124 ==>"124" ==>[1,2,4] class Solution: def plusOne(self, digits: List[int]) -> List[int]: string="" for item in digits: ..原创 2019-02-26 18:39:35 · 145 阅读 · 0 评论 -
LeetCode1002-Find Common Characters查找常用字符
给定仅有小写字母组成的字符串数组A,返回列表中的每个字符串中都显示的全部字符(包括重复字符)组成的列表。例如,如果一个字符在每个字符串中出现 3 次,但不是 4 次,则需要在最终答案中包含该字符 3 次。你可以按任意顺序返回答案。示例 1:输入:["bella","label","roller"]输出:["e","l","l"]示例 2:输入:["原创 2019-03-14 10:47:29 · 151 阅读 · 0 评论 -
leetcode53-最大子序和python
给定一个整数数组nums,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。示例:输入: [-2,1,-3,4,-1,2,1,-5,4],输出: 6解释:连续子数组[4,-1,2,1] 的和最大,为6。进阶:如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。方法一:动态规划法O(n)class Solution...原创 2019-03-09 17:24:47 · 95 阅读 · 0 评论 -
leetcode169-Majority Element求众数
给定一个大小为n的数组,找到其中的众数。众数是指在数组中出现次数大于⌊ n/2 ⌋的元素。你可以假设数组是非空的,并且给定的数组总是存在众数。示例1:输入: [3,2,3]输出: 3示例2:输入: [2,2,1,1,1,2,2]输出: 2思路:采用哈希表(字典),记录每一个数出现的次数import mathclass Solution: ...原创 2019-03-14 11:14:17 · 91 阅读 · 0 评论 -
leetcode88-Merge Sorted Array合并两个排序数组python
给定两个有序整数数组nums1和nums2,将nums2合并到nums1中,使得num1成为一个有序数组。说明:初始化nums1和nums2的元素数量分别为m和n。 你可以假设nums1有足够的空间(空间大小大于或等于m + n)来保存nums2中的元素。示例:输入:nums1 = [1,2,3,0,0,0], m = 3nums2 ...原创 2019-03-09 20:52:41 · 132 阅读 · 0 评论 -
leetcode566-重塑矩阵
在MATLAB中,有一个非常有用的函数reshape,它可以将一个矩阵重塑为另一个大小不同的新矩阵,但保留其原始数据。给出一个由二维数组表示的矩阵,以及两个正整数r和c,分别表示想要的重构的矩阵的行数和列数。重构后的矩阵需要将原始矩阵的所有元素以相同的行遍历顺序填充。如果具有给定参数的reshape操作是可行且合理的,则输出新的重塑矩阵;否则,输出原始矩阵。示例 1:输入:...原创 2019-03-14 15:15:41 · 120 阅读 · 0 评论 -
leetcode345-反转字符串中的元音字母
编写一个函数,以字符串作为输入,反转该字符串中的元音字母。示例 1:输入: "hello"输出: "holle"示例 2:输入: "leetcode"输出: "leotcede"说明:元音字母不包含字母"y"。思路:题目说了“反转”,那就用栈喽。但要同时保持元音字母的索引位置和字母值两个class Solution: def reverseVowe...原创 2019-03-15 09:52:17 · 93 阅读 · 0 评论 -
LeetCode118-杨辉三角
给定一个非负整数numRows,生成杨辉三角的前numRows行。在杨辉三角中,每个数是它左上方和右上方的数的和。示例:输入: 5输出:[ [1], [1,1], [1,2,1], [1,3,3,1], [1,4,6,4,1]]class Solution(object): def generate(self, numRo...原创 2019-03-12 22:21:15 · 103 阅读 · 0 评论 -
leetcode15-三数之和
给定一个包含 n 个整数的数组nums,判断nums中是否存在三个元素 a,b,c ,使得a + b + c = 0 ?找出所有满足条件且不重复的三元组。注意:答案中不可以包含重复的三元组。例如, 给定数组 nums = [-1, 0, 1, 2, -1, -4],满足要求的三元组集合为:[ [-1, 0, 1], [-1, -1, 2]]法一:暴力遍历,O(N...原创 2019-07-12 14:51:12 · 92 阅读 · 0 评论