自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 leetcode 解题记录 ---95. Unique Binary Search Trees II

分析问题:F(n):给你N个数,返回所有可能的二叉搜索树,当我们随机选取一个节点i当作根节点的时候,数被分为左右两堆(1 i-1)(i+1,n)就产生了两个新的问题,(1,i-1)(i+1,n)分别返回所有可能的二叉搜索树。可以发现,这是一个递归的问题。对于一个递归树,函数会回到一个节点三次,第一来到,处理完左子树回来一次,处理完右子树回来一次。所以我们需要想好要从左右子树中得...

2019-11-29 09:56:16 105

原创 寻找树的后继节点

public static class Node { public int value; public Node left; public Node right; public Node parent; public Node(int data) { this.value = data; } } public static Node getSuccess...

2019-11-27 16:44:51 130

原创 树的三序遍历 非递归版

public static class Node { public int value; public Node left; public Node right; public Node(int data) { this.value = data; } } public static void preOrderUnRecur(Node head) { S...

2019-11-27 16:43:19 123

原创 leetcode 解题记录 ---216. Combination Sum III

用下标来控制 是否用过,确实挺好用的。class Solution(object): def combinationSum3(self, k, n): """ :type k: int :type n: int :rtype: List[List[int]] """ self.ans = ...

2019-11-25 14:54:07 95

原创 leetcode 解题记录 --- 40. Combination Sum II

第一版本代码:class Solution(object): def combinationSum2(self, candidates, target): """ :type candidates: List[int] :type target: int :rtype: List[List[int]] "...

2019-11-25 14:34:19 100

原创 leetcode 解题记录 ---39. Combination Sum

dfs + 回溯tip1: 以一种有序的方式加入,这样可以避免去重的操作tip2: 即时的剪枝,class Solution(object): def combinationSum(self, candidates, target): """ :type candidates: List[int] :type target: i...

2019-11-25 13:58:41 82

原创 leetcode 解题记录 --- 162. Find Peak Element

寻找一个局部峰值解法一:直接遍历 复杂度O(N)提示复杂度要为O(logn)用二分法,用左右两个指针来夹逼class Solution: def findPeakElement(self, nums) : if not nums: return None n = len(nums) low, high...

2019-11-25 12:18:19 91

原创 leetcode 解题记录 ---34. Find First and Last Position of Element in Sorted Array

二分的变体class Solution: def searchRange(self, nums, target): start = self.first(nums,target) end = self.last(nums,target) return [start,end] def last(self,nums,target):...

2019-11-25 10:50:48 68

原创 leetcode 解题记录 ---4sum

class Solution: def fourSum(self,nums,target): self.t = target n = len(nums) if n<4: return None self.ans = [] nums.sort() for i in ...

2019-11-24 22:12:22 78

原创 leetcode 解题记录 ---15. 3Sum

数组+双指针要学会向简单的已知的,已会的问题转化关于去重这一点,是先有结果再去重!class Solution: def threeSum(self, nums) : n = len(nums) if n<3: return None nums.sort() self.ans = ...

2019-11-24 21:44:03 186

原创 leetcode 解题记录 ---347. Top K Frequent Elements

思路: 哈希 、空间换时间sorted()class Solution: def topKFrequent(self, nums, k) : cnt = dict() for v in nums: if v in cnt: cnt[v]+=1 else: ...

2019-11-24 20:31:25 209

原创 leetcode 解题记录 ---215 数组中第K大

解法一:排序然后输出第K大 时间复杂度O(nlogn)class Solution: def findKthLargest(self, nums: List[int], k: int) -> int: if not nums: return None nums.sort() return nums[-k...

2019-11-24 19:18:25 83 1

原创 leetcode 解题记录 --- 荷兰旗问题

class Solution: def sortColors(self, nums) : """ Do not return anything, modify nums in-place instead. """ n = len(nums) l, r = -1, n i = 0 ...

2019-11-24 11:43:16 128

原创 leetcode 解题记录 --- 33. Search in Rotated Sorted Array

解法一:时间复杂度 O(N) def search(self, nums: List[int], target: int) -> int: for i, v in enumerate(nums): if v==target: return i return -1解法二:数组的规律 [...

2019-11-23 15:20:38 66

原创 python 基础知识 ---高阶函数 装饰器

在python里,一个函数可以被当作参数,可以被当成结果返回,也可以赋给一个变量。键字lambda表示匿名函数,冒号前面的x表示函数参数。匿名函数有个限制,就是只能有一个表达式,不用写return,返回值就是该表达式的结果>>> def now():... print('2015-3-25')我们要增强now()函数的功能,比如,在函数调用前后增...

2019-11-18 22:43:53 89

原创 python 基础知识--函数的参数

1 函数的参数参数的类型:必选参数、默认参数、可变参数、命名关键字参数和关键字参数。def func(a, b, c=0, *args, **kw): passargs 接收到的是一个tuple, kw接收到的是一个dictdef calc(*numbers): sum = 0 for n in numbers: sum = sum ...

2019-11-18 22:22:22 127

原创 leetcode 解题记录--- Median of Two Sorted Arrays

解法一:双指针复杂度(O(m+n))class Solution: def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float: n1 = len(nums1) n2 = len(nums2) cnt = (n1+n2)//2 + ...

2019-11-18 10:40:11 82

原创 leetcode 解题记录 ---Container With Most Water

a = min(y1,y2)b = x2-x1area = a*b解法一:双重循环class Solution: def maxArea(self, height: List[int]) -> int: max = 0 n = len(height) for i in range(n-1): f...

2019-11-18 09:54:08 112

原创 python @修饰器作用

在Python的函数中,函数定义的上一行有@functionName的修饰,当解释器读到@这样的修饰符之后,会先解析@后的内容,把@下一行的函数或者类作为@后边的函数的参数,然后将返回值赋值给下一行修饰的函数对象。比如:@a@bdef c():…python会按照自下而上(注意:从下到上)的顺序把各自的函数结果作为下一个函数(上面的函数)的输入,也就是a(b(c())),下...

2019-11-15 16:11:01 371

原创 python 中 import 、 from xx import 和 from .xx import

1 import import 的是一个package的时候,执行的__init__.py文件,其他module不会被执行,而且,如果只是单纯地导入包【形如:import xxx】,而包的 init .py中有没有明确地的其他初始化操作,则:此包下的模块 是不会被自动导入的。当然该包是会成功导入的,并将包名称放入当前.py的Local命名空间中。import 的是一个module,当这mo...

2019-11-15 16:07:50 546

原创 python 中的 super().__init__()

【super作用】1 如果子类(Puple)继承父类(Person)不做初始化,那么会自动继承父类(Person)属性name。2 如果子类(Puple_Init)继承父类(Person)做了初始化,且不调用super初始化父类构造函数,那么子类(Puple_Init)不会自动继承父类的属性(name),但可以继承父类的方法。3 如果子类(Puple_super)继承父类(Person...

2019-11-15 15:47:36 872 1

原创 __init__.py 作用

1. 标识该目录是一个python的模块包(module package)一个.py文件称为一个module,一个文件夹成为一个包。一个文件夹中含有一个__init__.py文件,表明这个文件夹是一个 module package2. 简化模块导入操作.└── mypackage ├── subpackage_1 │ ├── test11.py │ ...

2019-11-15 15:40:09 92

原创 反射 demo

反射1 获取类对象2 根据类对象创建一个对象3 访问属性4 调用方法获取类对象的三种方法 1 Class.forName() 2 Object.class   //类的静态属性不会被初始化 3 Object.getClass() package test;import java.lang.reflect.Field;import java.lang.r

2017-11-18 15:29:42 207

空空如也

空空如也

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

TA关注的人

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