代码编织梦想

【剑指offer-c++】jz49:丑数-爱代码爱编程

【剑指offer-C++】JZ49:丑数 题目描述解题思路 题目描述 描述:把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们

【剑指offer-c++】jz48:最长不含重复字符的子字符串-爱代码爱编程

【剑指offer-C++】JZ48:最长不含重复字符的子字符串 题目描述解题思路 题目描述 描述:请从字符串中找出一个最长的不包含重复字符的子字符串,计算该最长子字符串的长度。 数据范围: s.leng

剑指 offer ii 042. 最近请求次数-爱代码爱编程

https://leetcode.cn/problems/H8086Q/ 题目要求 写一个 RecentCounter 类来计算特定时间范围内最近的请求。 请实现 RecentCounter 类: RecentCou

【剑指 offer 】42. 连续子数组的最大和-爱代码爱编程

动态规划 定义dp[i]代表以nums[i]为结尾的连续子数组的最大值,那么有如下转移状态: 如果dp[i-1]<=0,则dp[i]=nums[i],即前面的数加上还没当前值大,那就不加如果dp[i-1]=0,则dp[i]=nums[i]+dp[i-1],加上前面的数比当前的值大,就加 class Solution: def maxSub

剑指 offer ii 041. 滑动窗口的平均值-爱代码爱编程

https://leetcode.cn/problems/qIsx9U/ 题目要求 给定一个整数数据流和一个窗口大小,根据该滑动窗口的大小,计算滑动窗口里所有数字的平均值。 实现 MovingAverage 类: M

【剑指 offer】 41. 数据流中的中位数-爱代码爱编程

此题用大根堆和小根堆来找到中位数,解法比较巧妙,另外学习了大根堆的使用方式,赚到了。(๑•̀ㅂ•́)و✧ 具体过程比较复杂,请参考题解:力扣https://leetcode.cn/problems/shu-ju-liu-zhong-de-zhong-wei-shu-lcof/solution/mian-shi-ti-41-shu-ju-liu-zhong

剑指 offer ii 040. 矩阵中最大的矩形-爱代码爱编程

https://leetcode.cn/problems/PLYXKQ/ 题目要求 给定一个由 0 和 1 组成的矩阵 matrix ,找出只包含 1 的最大矩形,并返回其面积。 注意:此题 matrix 输入格式为一

【剑指 offer 】40. 最小的k个数-爱代码爱编程

本题比较简单,借此温习一下快排。 解此题有三种方法,如果不规定手写排序过程,优先第一种。  class Solution: def getLeastNumbers(self, arr: List[int], k: int) -> List[int]: # 1.api排序后取数 # arr.sort()

剑指 offer ii 039. 直方图最大矩形面积-爱代码爱编程

https://leetcode.cn/problems/0ynMMM/ 题目要求 给定非负整数数组 heights ,数组中的数字用来表示柱状图中各个柱子的高度。每个柱子彼此相邻,且宽度为 1 。 求在该柱状图中,能

二叉搜索树与双向链表-剑指offer36-java-爱代码爱编程

一、题目描述 输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的循环双向链表。要求不能创建任何新的节点,只能调整树中节点指针的指向。 为了让您更好地理解问题,以下面的二叉搜索树为例:  我们希望将这个二叉搜索树转化为双向循环链表。链表中的每个节点都有一个前驱和后继指针。对于双向循环链表,第一个节点的前驱是最后一个节点,最后一个节点的后继是第一个节

剑指 offer day12|21. 调整数组顺序使奇数位于偶数前面,57. 和为s的两个数字,58 - i. 翻转单词顺序-爱代码爱编程

剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 题目描述:剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 class Solution { public: vector<int>

《剑指offer》--数学-爱代码爱编程

《剑指Offer》–算法 数组中出现次数超过一半的数字圆圈中最后剩下的数从 1 到 n 整数中 1 出现的次数 #include<iostream> #include<vector> using

【剑指 offer】 36. 二叉搜索树与双向链表-爱代码爱编程

用pre是否为空来标记head,全部dfs完pre就指向tail节点。  """ # Definition for a Node. class Node: def __init__(self, val, left=None, right=None): self.val = val self.left = left

剑指 offer ii 038. 每日温度-爱代码爱编程

https://leetcode.cn/problems/iIQa4I/ 题目要求 请根据每日 气温 列表 temperatures ,重新生成一个列表,要求其对应位置的输出为:要想观测到更高的气温,至少需要等待的天数。

剑指 offer ii 037. 小行星碰撞-爱代码爱编程

https://leetcode.cn/problems/XagZNi/ 题目要求 给定一个整数数组 asteroids,表示在同一行的小行星。 对于数组中的每一个元素,其绝对值表示小行星的大小,正负表示小行星的移动方

剑指 offer ii 036. 后缀表达式-爱代码爱编程

https://leetcode.cn/problems/8Zf90G/ 题目要求 根据 逆波兰表示法,求该后缀表达式的计算结果。 有效的算符包括 +、-、*、/ 。每个运算对象可以是整数,也可以是另一个逆波兰表达式。

【剑指 offer】 35. 复杂链表的复制-爱代码爱编程

方法一:哈希表法 """ # Definition for a Node. class Node: def __init__(self, x: int, next: 'Node' = None, random: 'Node' = None): self.val = int(x) self.next = next

剑指 offer 18. 删除链表的节点(单指针操作链表)-爱代码爱编程

题目: 链接:剑指 Offer 18. 删除链表的节点 难度:简单 给定单向链表的头指针和一个要删除的节点的值,定义一个函数删除该节点。 返回删除后的链表的头节点。 注意:此题对比原题有改动 示例 1: 输

复杂链表的复制-剑指offer35-java-爱代码爱编程

一、题目描述 请实现 copyRandomList 函数,复制一个复杂链表。在复杂链表中,每个节点除了有一个 next 指针指向下一个节点,还有一个 random 指针指向链表中的任意节点或者 null。 示例 1: 输入:head = [[7,null],[13,0],[11,4],[10,2],[1,0]] 输出:[[7,null],[13,

剑指 offer ii 035. 最小时间差-爱代码爱编程

https://leetcode.cn/problems/569nqc/ 题目要求 给定一个 24 小时制(小时:分钟 “HH:MM”)的时间列表,找出列表中任意两个时间的最小时间差并以分钟数表示。 方法 将所有的时