数组
一颗随风而倒的墙头草
这个作者很懒,什么都没留下…
展开
-
《剑指offer》【顺时针打印矩阵】(python版)
题目描述:输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字,例如,如果输入如下矩阵: 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....原创 2018-07-03 20:46:30 · 2814 阅读 · 0 评论 -
《剑指offer》【最小的k个数】(python版)
问题描述: 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,。 思路: 这个算是面试中常见题了,这里总结一下解决方法(注意判断k的合法性): 1、全部升序排序,输出前k个数字,最小时间复杂度为 2、由于不要求最小的k个数按序输出,参考快排中partition函数思想:每轮排序之后枢轴左边数字都比它小,右边数字都比它大...原创 2018-10-23 17:18:54 · 5171 阅读 · 2 评论 -
【LeetCode】【152. Maximum Product Subarray】(python版)
def maxProduct(self, nums): maxvalue = [0 for i in range(len(nums))] minvalue = [0 for i in range(len(nums))] maxvalue[0] = minvalue[0] = nums[0] globalmax = float(...原创 2018-07-16 10:04:10 · 1012 阅读 · 0 评论 -
《剑指offer》【连续子数组的最大和】(python版)
class Solution: def FindGreatestSumOfSubArray(self, array): # write code here maxsublist = [] firstelem = -1 if len(array) == 0: return maxsublist ...原创 2018-07-15 22:22:32 · 967 阅读 · 0 评论 -
【LeetCode】【16.3sum closest】(python版)
Given an array nums of n integers and an integer target, find three integers in nums such that the sum is closest to target. Return the sum of the three integers. You may assume that each input would ...原创 2018-07-15 21:50:58 · 293 阅读 · 0 评论 -
基础算法之排序算法总结(python版)
常见排序算法包括有:冒泡,简单选择,直接插入,快排,归并排序,堆排序,希尔排序 目录 冒泡排序 思想: 复杂度分析: 选择排序 思想: 复杂度分析 直接插入排序 思想: 复杂度分析 希尔排序 思想 复杂度分析 快速排序 思想: 复杂度分析 快排优化 归并排序 思想 复杂度分析 归并优化 堆排序 思想 复杂度分析 总结 冒泡排序 思想:...原创 2018-09-02 10:49:53 · 328 阅读 · 0 评论 -
【LeetCode】【15.3sum】(python版)
问题描述: Given an array nums of n integers, are there elements a, b, c in nums such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero. Note: The solution set must n...原创 2018-07-13 23:11:08 · 286 阅读 · 0 评论 -
【LeetCode】【1.two sum】(python版)
Given an array of integers, return indices of the two numbers such that they add up to a specific target. You may assume that each input would have exactly one solution, and you may not use the same ...原创 2018-07-13 21:34:57 · 289 阅读 · 0 评论 -
【LeetCode】【31. Next Permutation】(python版)
Description: Implement next permutation, which rearranges numbers into the lexicographically next greater permutation of numbers. If such arrangement is not possible, it must rearrange it as the low...原创 2018-07-12 22:19:39 · 806 阅读 · 0 评论 -
《剑指offer》【扑克牌的顺子】(python版)
题目描述: 从扑克牌中随机抽5张牌,判断是不是一个顺子, 即这5张牌是不是连续的。2~10为数字本身, A为1。 J为11、Q为12、 K为13。大、小王可以看成任意数字。(为了方便,输入数组中0代表大小王) 思路: 本题思路很好想,相信玩过QQ斗地主的人都知道什么叫赖子牌,本题实际是一个意思。所谓顺子只需要判断两点:1、五张牌没有重复 2、王牌个数等于顺子中空缺的位置。 class So...原创 2018-07-18 21:47:17 · 2028 阅读 · 0 评论 -
《剑指offer》【调整数组顺序使奇数位于偶数前面】(python版)
题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分 思路: 我认真看了一下,题目应该是要求在原地调整,所以这里不能再开辟一个数组 第一种:从头往尾扫描数组,遇到一个偶数就把它提出来,依次把其后的数字前移一格,最后将偶数插入末尾的空位。时间复杂度为O(n2)O(n2)O(n^2) 第二种:采用两指针分别从首...原创 2018-07-18 21:36:42 · 2712 阅读 · 2 评论 -
《剑指offer》【滑动窗口的最大值】(python版)
题目描述: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2...原创 2018-07-17 21:52:46 · 4169 阅读 · 1 评论 -
【LeetCode】【18.4sum】(python版)
Describe: Given an array nums of n integers and an integer target, are there elements a, b, c, and d in nums such that a + b + c + d = target? Find all unique quadruplets in the array which gives the...原创 2019-06-14 21:18:03 · 199 阅读 · 0 评论