- 博客(34)
- 收藏
- 关注
原创 《Python Cookbook 第3版》知识点整理(一):算法与数据结构(含代码注释)
本专栏记录本人系统学习《Python Cookbook (第3版)》的笔记,整理涉及的编程问题及代码,并添加注释,方便查阅。
2023-03-25 22:01:51 510
原创 [剑指offer 15] 二进制中1的个数
编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中数字位数为 '1' 的个数(也被称为 汉明重量).)。
2021-11-11 11:49:28 253
原创 [剑指offer 14-I] 剪绳子
给你一根长度为 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。
2021-11-11 10:18:29 239
原创 [剑指offer 13] 机器人的运动范围
地上有一个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=19。请问该机器人能够到达多少个格子?
2021-11-09 20:58:13 92
原创 [剑指offer 11] 矩阵中的路径
给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。
2021-07-21 14:55:11 147
原创 [剑指offer 11] 旋转数组的最小数字
把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个递增排序的数组的一个旋转,输出旋转数组的最小元素。例如,数组 [3,4,5,1,2] 为 [1,2,3,4,5] 的一个旋转,该数组的最小值为1。
2021-07-20 14:57:32 114
原创 [剑指offer 10-II] 青蛙跳台阶问题
一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。
2021-07-18 15:29:30 114
原创 [剑指offer 09 ] 用两个栈实现队列
剑指offer 09 用两个栈实现队列用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail和deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead操作返回 -1 )
2021-07-13 11:59:09 103
原创 [剑指offer 07] 重建二叉树
剑指offer 07 重建二叉树输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。
2021-07-12 17:21:16 94
原创 [剑指offer 06] 从尾到头打印链表
剑指offer06 重头到尾打印链表**题目描述:**输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。方法一:遍历链表保存在list中,再反向输出list反转的两种方法:切片:list[::-1]使用reverse()方法:list.reverse(),注意该方法只对list中的元素进行反转排列,不返回任何参数。因此,若在以下代码中直接return lst.reverse(),则得不到正确结果(返回None)# Definition for singly-linked l
2021-07-09 13:44:03 109
原创 [剑指offer 05] 替换空格
剑指offer05 替换空格**题目描述:**请实现一个函数,把字符串 s 中的每个空格替换成"%20"方法一:遍历所给的字符串,替换后存到另一个字符串python的str时不变数据类型,考虑新建一个str,将原字符串元素一个个放进去,遇到空格则替换为"%20"class Solution: def replaceSpace(self, s: str) -> str: lst = str() for i in s: if i ==
2021-07-09 13:24:01 86
原创 [剑指offer 04] 二维数组的查找
剑指04 二维数组的查找**题目描述:**在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个高效的函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
2021-07-08 10:35:56 93
原创 [剑指offer 03] 数组中重复的数字
方法一 设置两个循环时间复杂度过高class Solution: def findRepeatNumber(self, nums: List[int]) -> int: i = 0 while i < len(nums): j = i+1 while j <len(nums): if nums[i] == nums[j]: ...
2021-07-07 15:30:36 135
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人