自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 问答 (1)
  • 收藏
  • 关注

原创 剑指 Offer 15. 二进制中1的个数

https://leetcode-cn.com/problems/er-jin-zhi-zhong-1de-ge-shu-lcof/请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2暴力求解思路:n & 1 留下的就是n转化为二进制之后的最后一位。如果最后一位是1,譬如0101,则n & 1=1,如果最后一位是0,譬如1010,则n & 1 = 0。

2021-01-31 15:36:52 51 1

原创 剑指 Offer 14- II. 剪绳子 II

https://leetcode-cn.com/problems/jian-sheng-zi-ii-lcof/给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m - 1] 。请问 k[0]k[1]…*k[m - 1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。与剪绳子Ihttps://blog.csdn.net/weixin_4

2021-01-30 23:05:03 47

原创 剑指 Offer 14- I. 剪绳子(5种方案)

https://leetcode-cn.com/problems/jian-sheng-zi-lcof/给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m、n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]…k[m-1] 。请问 k[0]k[1]…*k[m-1] 可能的最大乘积是多少?例如,当绳子的长度是8时,我们把它剪成长度分别为2、3、3的三段,此时得到的最大乘积是18。参考https://leetcode-cn.com/problems/jian-she

2021-01-24 23:45:39 216

原创 剑指 Offer 13. 机器人的运动范围(分治,python注意二维数组定义容易踩浅拷贝的坑)

https://leetcode-cn.com/problems/ji-qi-ren-de-yun-dong-fan-wei-lcof/题目:地上有一个m行n列的方格,从坐标 [0,0] 到坐标 [m-1,n-1] 。一个机器人从坐标 [0, 0] 的格子开始移动,它每次可以向左、右、上、下移动一格(不能移动到方格外),也不能进入行坐标和列坐标的数位之和大于k的格子。例如,当k为18时,机器人能够进入方格 [35, 37] ,因为3+5+3+7=18。但它不能进入方格 [35, 38],因为3+5+3+8

2021-01-24 18:12:00 101

原创 剑指 Offer 12. 矩阵中的路径(回溯,python注意二维数组浅拷贝问题)

https://leetcode-cn.com/problems/ju-zhen-zhong-de-lu-jing-lcof/题目:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一格开始,每一步可以在矩阵中向左、右、上、下移动一格。如果一条路径经过了矩阵的某一格,那么该路径不能再次进入该格子。思路:从一个角落开始,遍历矩阵,选择开始格子。如果格子不等于第一个元素,则放弃,遍历下一个,直到找到等于第一个元素的格子。对这个格子的前后左右进行判断,找到

2021-01-17 18:24:27 184 1

原创 剑指 Offer 11. 旋转数组的最小数字

https://leetcode-cn.com/problems/xuan-zhuan-shu-zu-de-zui-xiao-shu-zi-lcof/我第一时间想到的方法,遍历(估计是面试不能过系列)思路:因为是递增数组旋转,旋转后为两个递增数组的拼接,则最小值一定是数组的第一个元素(未旋转),或数组后面小于数组第一个元素的第一个元素。时间复杂度O(n),空间复杂度O(1)class Solution(object): def minArray(self, numbers):

2021-01-11 23:11:16 47

原创 剑指 Offer 10- II. 青蛙跳台阶问题

https://leetcode-cn.com/problems/qing-wa-tiao-tai-jie-wen-ti-lcof/斐波那契数列换了个问法

2021-01-10 16:33:30 58

原创 剑指 Offer 10- I. 斐波那契数列

https://leetcode-cn.com/problems/fei-bo-na-qi-shu-lie-lcof/动态规划和递归两个方法的经典题目,斐波那契数列递归 别的语言不清楚,python用递归会超时,过不去自顶向下递归终止条件:n=0 f0 = 0, n=1 f1 = 1递归体:F(N) = F(N - 1) + F(N - 2)class Solution(object):def fib(self, n): """ :type n: int :rtype: int

2021-01-10 16:18:27 87 1

原创 剑指 Offer 09. 用两个栈实现队列

https://leetcode-cn.com/problems/yong-liang-ge-zhan-shi-xian-dui-lie-lcof/用两个栈实现队列首先,栈和队列的区别,一个是先进先出,一个是先进后出。但是有一个问题,python是不是没有专门的栈结构,需要用list模拟一下。。。class CQueue(object): def __init__(self): self.stack1 = list() def appendTail(self,

2021-01-10 15:55:56 54

原创 剑指 Offer 07. 重建二叉树

https://leetcode-cn.com/problems/zhong-jian-er-cha-shu-lcof/二叉树的前序遍历和中序遍历重构二叉树 (这道题的url很有意思)前序遍历:根左右中序遍历:左根右注意前序遍历中序遍历,中序遍历后序遍历都可以重建二叉树,前序遍历和后序遍历不能重建出唯一二叉树,因为没有中序遍历,定位不了根节点的左子树和右子树。递归法递归法思路:前序遍历的第一个节点是根节点,找到根节点在中序遍历数组中的位置,数组左半部分为根节点的左子树,右半部分为根节点的右子树

2021-01-10 15:32:15 60

原创 django获取url中参数

参考 https://www.cnblogs.com/chichung/p/9873425.html路径中的参数需求:假设用户访问127.0.0.1/user/1/2,你想获取1,2。应该怎么操作呢?两种方法(1)未命名参数(位置参数)url(r'^user/(\d+)/(\d+)$',views.index)def index(request,a,b): # 接受的参数按顺序的 return HttpResponse("获得数据 %s %s"%(a,b))(

2021-01-07 13:37:23 1338 1

原创 python数据库select只有一个变量报错

cursor.execute(“SELECT * FROM 数据表名 WHERE job_id=%s”, (job_id,))注意即使只有一个变量,也要写”job_id,“ 注意一定要有逗号,不然报错TypeError: argument 2 to map() must support iteration

2021-01-06 23:17:32 238

原创 剑指 Offer 06. 从尾到头打印链表

https://leetcode-cn.com/problems/cong-wei-dao-tou-da-yin-lian-biao-lcof/用python写感觉没什么考点,有reverse函数直接做list翻转# Definition for singly-linked list.# class ListNode(object):# def __init__(self, x):# self.val = x# self.next = Noneclas

2021-01-06 00:43:24 55

原创 剑指 Offer 05. 替换空格

https://leetcode-cn.com/problems/ti-huan-kong-ge-lcof/思路:这道题用python写基本就是白给class Solution(object): def replaceSpace(self, s): """ :type s: str :rtype: str """ s = s.replace(' ', '%20') return s自己写的话使

2021-01-06 00:33:04 80 1

原创 剑指 Offer 04. 二维数组中的查找

https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof/思路:从左下角或右上角开始遍历,当当前元素大于target,往元素变小方向移动,当当前元素小于target,往元素变大方向移动。时间复杂度O(m+n),空间复杂度O(1)class Solution(object): def findNumberIn2DArray(self, matrix, target): """ :ty

2021-01-05 23:43:46 56

原创 830. 较大分组的位置

https://leetcode-cn.com/problems/positions-of-large-groups/思路很简单:遍历list,记录开始遍历的位置index,和当前遍历的元素value。当发现元素发生变化,计算当前位置-1-遍历开始位置,如果长度大于等于3,则将[index, 当前位置-1] append到结果list中,最终返回结果list。注意最后一个value无法进入value转变判断,因此循环结束后需要再加一次判断输出。class Solution(object): de

2021-01-05 22:48:08 58 1

原创 剑指 Offer 03. 数组中重复的数字

https://leetcode-cn.com/problems/shu-zu-zhong-zhong-fu-de-shu-zi-lcof/submissions/本题若是不做任何限制,本身没什么难度,最简单的方法,可以直接用hash表查询。本题本身考点是对时间空间复杂度的分析,以及优化思路空间足够,优先考虑时间用list借助桶排序的思维,或者直接用dict,在leetcode上判别时间和内存消耗差不多。不要直接判断元素是不是在list里,超级耗时空间复杂度差不多都是O(n),时间复杂度也是O(

2021-01-05 15:31:31 72

空空如也

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

TA关注的人

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