自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 收藏
  • 关注

原创 【LeetCode】【322. Coin Change】(python版)

Description: You are given coins of different denominations and a total amount of money amount. Write a function to compute the fewest number of coins that you need to make up that amount. If that am...

2018-07-28 19:08:11 2019

原创 【LeetCode】【837. New 21 Game】(python版)

Description: Alice plays the following game, loosely based on the card game “21”.Alice starts with 0 points, and draws numbers while she has less than K points. During each draw, she gains an inte...

2018-07-28 18:16:21 1467

原创 【LeetCode】【5. Longest Palindromic Substring】(python版)

Description: Given a string s, find the longest palindromic substring in s. You may assume that the maximum length of s is 1000.Example 1:Input: "babad"Output: "bab"Note: &a

2018-07-28 15:38:25 346

原创 《剑指offer》【把字符串转换成整数】(python版)

题目描述: 将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个字符串,包括数字字母符号,可以为空 输出描述: 如果是合法的数值表达则返回该数字,否则返回0 示例1输入+21474836471a33...

2018-07-18 22:07:59 1454

原创 《剑指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 1992

原创 《剑指offer》【调整数组顺序使奇数位于偶数前面】(python版)

题目描述: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分思路: 我认真看了一下,题目应该是要求在原地调整,所以这里不能再开辟一个数组 第一种:从头往尾扫描数组,遇到一个偶数就把它提出来,依次把其后的数字前移一格,最后将偶数插入末尾的空位。时间复杂度为O(n2)O(n2)O(n^2) 第二种:采用两指针分别从首...

2018-07-18 21:36:42 2679 2

原创 《剑指offer》【第一次只出现一次的字符】(python版)

题目描述: 在一个字符串(0<=字符串长度<=10000,全部由字母组成)中找到第一个只出现一次的字符,并返回它的位置, 如果没有则返回 -1.思路: 第一种:扫描字符串,将每个字符与其它所有字符进行比较,如果没有相同,说明他就是第一个只出现一次的字符。算法时间复杂为O(n2)O(n2)O(n^2)第二种:采用hash表,一次扫描字符串记录字符出现的次数数,第二次扫描字符串...

2018-07-18 20:44:11 874

原创 《剑指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 4148 1

原创 《剑指offer》【二叉搜索树的后序遍历序列】(python版)

题目描述 输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历的结果。如果是则输出Yes,否则输出No。假设输入的数组的任意两个数字都互不相同。# -*- coding:utf-8 -*-class Solution: def VerifySquenceOfBST(self, sequence): # write code here if len...

2018-07-17 20:18:57 1601

原创 《剑指offer》【树的子结构】(python版)

题目描述: 输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)思路: 本题可以分为两步,第一步:找到A中与B的根结点值相等的结点R,第二步:判断以R为根结点的子树是否包含B一样的结构。本题思路不难,但是需要格外注意对指针空值的判断。# -*- coding:utf-8 -*-# class TreeNode:# def __init_...

2018-07-16 16:25:40 979

原创 《剑指offer》【机器人的运动范围】(python版)

题目描述: 地上有一个m行和n列的方格。一个机器人从坐标0,0的格子开始移动,每一次只能向左,右,上,下四个方向移动一格,但是不能进入行坐标和列坐标的数位之和大于k的格子。 例如,当k为18时,机器人能够进入方格(35,37),因为3+5+3+7 = 18。但是,它不能进入方格(35,38),因为3+5+3+8 = 19。请问该机器人能够达到多少个格子?思路: 本题与 def m...

2018-07-16 16:14:34 2283 4

原创 《剑指offer》【矩阵中的路径】(python版)

题目描述: 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则之后不能再次进入这个格子。 例如 a b c e s f c s a d e e 这样的3 X 4 矩阵中包含一条字符串”bcced”的路径,但是矩阵中不包含”abcb”路径,因为...

2018-07-16 16:05:44 3353

原创 《剑指offer》【丑数】(python版)

题目描述: 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。思路: 最直接的暴力解法是从1开始依次判断数字是否为丑数,直到达到要求的丑数个数。当然这种方法肯定是会TLE的,所以我们分析一下丑数的生成特点(这里把1排除):因为丑数只包含质因子2,3,5,假...

2018-07-16 10:41:57 3847

原创 【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 983

原创 《剑指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 940

原创 【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 237

原创 【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 266

原创 【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 260

原创 【LeetCode】【60. Permutation Sequence】【python版】

The set [1,2,3,…,n] contains a total of n! unique permutations.By listing and labeling all of the permutations in order, we get the following sequence for n = 3:“123” “132” “213” “231” “312” ...

2018-07-13 18:23:48 544 3

原创 《剑指offer》【字符串的排列】(python版)

重点内容题目描述:输入一个字符串,按字典序打印出该字符串中字符的所有排列。例如输入字符串abc,则打印出由字符a,b,c所能排列出来的所有字符串abc,acb,bac,bca,cab和cba。输入描述: 输入一个字符串,长度不超过9(可能有字符重复),字符只包括大小写字母。思路 :本题实际上是求元素的全排列问题,每次从字典中剩下字符中选择一个加入排列,直到字典中无可选字符。很显然...

2018-07-13 16:49:40 3642 4

原创 【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 776

原创 《剑指offer》【链表中环的入口结点】(python版)

题目描述:一个链表中包含环,请找出该链表的环的入口结点。思路:/* public class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; }}*/public class Solution { public Li...

2018-07-05 20:51:01 2062

原创 《剑指offer》【两个链表的第一个公共结点】(python版)

题目描述:输入两个链表,找出它们的第一个公共结点# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# self.val = x# self.next = Noneclass Solution: def FindFirstCommonNode(self, pHea...

2018-07-05 09:42:32 459

原创 《剑指offer》【链表中倒数第k个节点】(python版)

题目描述:输入一个链表,输出该链表中倒数第k个结点。 思路:本题是很典型的快慢双指针问题,快指针先走k步,然后快慢指针再同时往前走,当快指针走到尽头时,慢指针刚好在倒数第k个节点的位置上。唯一需要注意的问题是小心参数k值大于链表长度。# -*- coding:utf-8 -*-# class ListNode:# def __init__(self, x):# ...

2018-07-04 21:49:29 1676 2

原创 《剑指offer》【正则表达式匹配】(python版)

题目描述:请实现一个函数用来匹配包括’.’和’*’的正则表达式。模式中的字符’.’表示任意一个字符,而’*’表示它前面的字符可以出现任意次(包含0次)。 在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串”aaa”与模式”a.a”和”ab*ac*a”匹配,但是与”aa.a”和”ab*a”均不匹配思路:本题就是很直观的字符串的匹配,难点在于当遇到模式中两个特殊字符怎么处理和对于各种形式...

2018-07-04 21:34:34 2720 10

原创 《剑指offer》【字符串翻转】(python版)

题目描述:牛客最近来了一个新员工Fish,每天早晨总是会拿着一本英文杂志,写些句子在本子上。同事Cat对Fish写的内容颇感兴趣,有一天他向Fish借来翻看,但却读不懂它的意思。例如,“student. a am I”。后来才意识到,这家伙原来把句子单词的顺序翻转了,正确的句子应该是“I am a student.”。Cat对一一的翻转这些单词顺序可不在行,你能帮助他么? 思路:首先分析一下翻转...

2018-07-04 11:45:29 584

原创 《剑指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 2781

原创 《剑指offer》【请实现两个函数,分别用来序列化和反序列化二叉树】(python版)

题目描述:请实现两个函数,分别用来序列化和反序列化二叉树 思路:二叉树的序列化就是按照某种顺序遍历二叉树,遇到空结点是在遍历输出序列中 加入某个特殊字符进行标识,反序列化就是按照同样的规则将一个序列还原为一颗二叉树。 这里采用前序遍历的顺序进行序列化 特别注意:在序列化中class Solution: def Serialize(self, root): val...

2018-07-02 20:18:21 1291

原创 《剑指offer》【按之字形顺序打印二叉树】(python版)

题目:请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。def Print(self, pRoot): # write code here nodelist = [] outlist = [] lefttoright = True ...

2018-07-02 19:50:24 588

原创 《剑指offer》【把二叉树打印成多行】(python版)

题目描述:从上到下按层打印二叉树,同一层结点从左至右输出。每一层输出一行。 思路:本题实际上就是层序遍历,但是要点在于如何在做到不同行结点分开。这里考虑的是class Solution: # 返回二维列表[[1,2],[4,5]] def Print(self, pRoot): # write code here nodelist = [] ...

2018-07-02 19:32:33 336

原创 关于二叉树的各种遍历及变形总结(python实现篇)

class TreeNode: def __init__(self, x): self.val = x self.left = None self.right = Noneclass Solution: def PreOrder(self, root): if not root: retu...

2018-07-02 17:44:17 469

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

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