剑指offer
cpyy103
这个作者很懒,什么都没留下…
展开
-
剑指offer_15_二进制中1的个数
二进制中1的个数描述简单请实现一个函数,输入一个整数(以二进制串形式),输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。因此,如果输入 9,则该函数输出 2。示例 1:输入:00000000000000000000000000001011输出:3解释:输入的二进制串 00000000000000000000000000001011 中,共有三位为 '1'。示例 2:输入:00000000000000000000000010000000输出:1原创 2021-01-05 23:37:25 · 84 阅读 · 0 评论 -
剑指offer_09_用两个栈实现队列
面试题09_用两个栈实现队列描述简单用两个栈实现一个队列。队列的声明如下,请实现它的两个函数 appendTail 和 deleteHead ,分别完成在队列尾部插入整数和在队列头部删除整数的功能。(若队列中没有元素,deleteHead 操作返回 -1 )示例示例 1:输入:["CQueue","appendTail","deleteHead","deleteHead"...原创 2020-12-06 11:07:48 · 75 阅读 · 0 评论 -
剑指offer_07_重建二叉树
剑指offer_07_重建二叉树与leetcode105题重复描述中等输入某二叉树的前序遍历和中序遍历的结果,请重建该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例前序遍历 preorder = [3,9,20,15,7]中序遍历 inorder = [9,3,15,20,7]返回如下的二叉树: 3 / \ 9 20 / \ 15 7限制:0 <= 节点个数 <= 5000解题前序遍历第一个点肯定是根节点,然后原创 2020-12-06 10:43:06 · 54 阅读 · 0 评论 -
剑指offer_06_从尾到头打印链表
剑指offer_06_从尾到头打印链表描述简单输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000解题最简单的,遍历链表,将值insert头插入列表也可以在列表后面append,最后倒序返回# Definition for singly-linked list.# class ListNode:# def __init__(self, x):原创 2020-12-06 10:38:04 · 64 阅读 · 0 评论 -
剑指offer_05_替换空格
剑指offer_05_替换空格描述简单请实现一个函数,把字符串 s 中的每个空格替换成"%20"。示例输入:s = "We are happy."输出:"We%20are%20happy."限制:0 <= s 的长度 <= 10000解题最简单的python内置替换class Solution: def replaceSpace(self, s: str) -> str: return s.replace(' ', '%20')常见的思原创 2020-12-06 10:35:05 · 62 阅读 · 0 评论 -
剑指offer_04_二维数组中的查找
剑指offer_04_二维数组中的查找描述简单在一个 n * m 的二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。示例现有矩阵 matrix 如下:[ [1, 4, 7, 11, 15], [2, 5, 8, 12, 19], [3, 6, 9, 16, 22], [10, 13, 14, 17, 24], [18, 21,原创 2020-12-06 10:31:06 · 51 阅读 · 0 评论 -
剑指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。请问该机器人能够到达多少个格子?示例 1:输入:m = 2, n = 3, k = 1输出:3示原创 2020-07-04 18:56:55 · 217 阅读 · 0 评论 -
剑指offer_03_数组中重复的数字
剑指offer_03_数组中重复的数字描述简单找出数组中重复的数字。在一个长度为 n 的数组 nums 里的所有数字都在 0~n-1 的范围内。数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次。请找出数组中任意一个重复的数字。示例输入:[2, 3, 1, 0, 2, 5, 3]输出:2 或 3 解题排序,然后看相邻元素是否相同class Solution: def findRepeatNumber(self, nums) -> int:原创 2020-12-06 10:17:14 · 61 阅读 · 0 评论