个数offer

剑指 Offer II 119. 最长连续序列

分析: 题目意思是数组里面能组合起来最长的连续数组 然后直接sort排序,如果中间差数不是1就不再连续,count归零 当nums[i]和nums[i-1]相等的时候,跳过 代码: 1 class Solution(object): 2 def longestConsecutive(self, nu ......
序列 Offer 119 II

第9次作业-函数求输入的任意两个数的平均值,并输出三个数中的最小值

| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/sdscfz/SF3 | | | | | 这个作业要求在哪里 | https://edu.cnblogs.com/campus/sdscfz/SF3/homework/12910 | | 这个作业的目标 | ......
平均值 函数 个数 两个

【剑指 Offer】 60. n个骰子的点数

【题目】 把n个骰子扔在地上,所有骰子朝上一面的点数之和为s。输入n,打印出s的所有可能的值出现的概率。 你需要用一个浮点数数组返回答案,其中第 i 个元素代表这 n 个骰子所能掷出的点数集合中第 i 小的那个的概率。 示例 1: 输入: 1 输出: [0.16667,0.16667,0.16667 ......
骰子 点数 Offer 60

区间不同数的个数 二维数点 扫描线 可持久化线段树

二维数点,对于询问的$[l, r]$区间我们只需要统计有多少个数上一次出现的位置$pos$ 满足$pos \leq l$,即可。 template<class T> struct BIT { T c[N]; int size; void resize(int s) { size = s;} T qu ......
扫描线 线段 区间 个数

【剑指 Offer】 51. 数组中的逆序对

【题目】 在数组中的两个数字,如果前面一个数字大于后面的数字,则这两个数字组成一个逆序对。输入一个数组,求出这个数组中的逆序对的总数。 示例 1:输入: [7,5,6,4]输出: 5 限制:0 <= 数组长度 <= 50000来源:力扣(LeetCode)链接:https://leetcode.cn ......
逆序 数组 Offer 51

约数个数和约数之和

约数个数和约数之和推导: 约数个数代码实现: 求n个数的乘积的约数个数: #include<iostream> #include<unordered_map> using namespace std; #define int long long const int p=1e9+7; unordere ......
约数 之和 个数

628. 三个数的最大乘积

分析: 简单题,直接写 但是做题有个问题,思考不够全面,往往开始只过了案例 没有想到其他情况 代码: 1 class Solution(object): 2 def maximumProduct(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: ......
乘积 个数 628

力扣---1004. 最大连续1的个数 III

给定一个二进制数组 nums 和一个整数 k,如果可以翻转最多 k 个 0 ,则返回 数组中连续 1 的最大个数 。 示例 1: 输入:nums = [1,1,1,0,0,0,1,1,1,1,0], K = 2输出:6解释:[1,1,1,0,0,1,1,1,1,1,1]粗体数字从 0 翻转到 1,最 ......
个数 1004 III

【剑指 Offer】17. 打印从1到最大的n位数

【题目】 输入数字 n,按顺序打印出从 1 到最大的 n 位十进制数。比如输入 3,则打印出 1、2、3 一直到最大的 3 位数 999。示例 1:输入: n = 1输出: [1,2,3,4,5,6,7,8,9]来源:力扣(LeetCode)链接:https://leetcode.cn/proble ......
位数 Offer 17

剑指 Offer II 083. 没有重复元素集合的全排列

分析: 今天看的明日一练,这道题有点忘了怎么做了 先偷个懒,用了个全排列函数,后面再研究 代码: 1 class Solution(object): 2 def permute(self, nums): 3 """ 4 :type nums: List[int] 5 :rtype: List[Lis ......
元素 Offer 083 II

位运算:剑指 Offer 39. 数组中出现次数超过一半的数字

题目描述: 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 限制: 1 <= 数组长度 <= 50000 解题思路: 摩尔投票法: 核心理念为 票数正负抵消 。此方法时间和空间复杂度分别为 O(N) 和 O(1) ,为本题的最 ......
数组 次数 数字 Offer 39

【剑指 Offer】49. 丑数

【题目】 我们把只包含质因子 2、3 和 5 的数称作丑数(Ugly Number)。求按从小到大的顺序的第 n 个丑数。 示例:输入: n = 10输出: 12解释: 1, 2, 3, 4, 5, 6, 8, 9, 10, 12 是前 10 个丑数。说明: 1 是丑数。 n 不超过1690。来源: ......
Offer 49

【剑指 Offer】 19. 正则表达式匹配

【题目】 请实现一个函数用来匹配包含'. '和'*'的正则表达式。模式中的字符'.'表示任意一个字符,而'*'表示它前面的字符可以出现任意次(含0次)。在本题中,匹配是指字符串的所有字符匹配整个模式。例如,字符串"aaa"与模式"a.a"和"ab*ac*a"匹配,但与"aa.a"和"ab*a"均不匹 ......
正则 表达式 Offer 19

求某一个范围内完数的个数

如果一个数等于它的因子之和,则称该数为完数,例如“6”的因子为1,2,3,而6=1+2+3,因此6是完数 问题分析: 假设一个数d,然后计算出它的每个因子,用到for循环,假如是a,b,c,然后进行一个判断如果a+b+c=d,就说明d是完数,应该要用到两层循环,最外层循环从2开始,一直到d,内层循环 ......
个数 范围

排序:剑指 Offer 45. 把数组排成最小的数

题目描述: 输入一个非负整数数组,把数组里所有数字拼接起来排成一个数,打印能拼接出的所有数字中最小的一个。 提示: 0 < nums.length <= 100说明: 输出结果可能非常大,所以你需要返回一个字符串而不是整数 拼接起来的数字可能会有前导 0,最后结果不需要去掉前导 0 注:+ 代表的是 ......
数组 Offer 45

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

分析: 偷个懒,上次做的一样的题 代码: 1 class Solution(object): 2 def fib(self, n): 3 """ 4 :type n: int 5 :rtype: int 6 """ 7 if n<2: 8 return n 9 f=[0 for i in range ......
数列 Offer 10

【剑指 Offer】38. 字符串的排列

【题目】 输入一个字符串,打印出该字符串中字符的所有排列。 你可以以任意顺序返回这个字符串数组,但里面不能有重复元素。 示例:输入:s = "abc"输出:["abc","acb","bac","bca","cab","cba"]来源:力扣(LeetCode)链接:https://leetcode. ......
字符串 字符 Offer 38

【剑指 Offer】 37. 序列化二叉树

【题目】 请实现两个函数,分别用来序列化和反序列化二叉树。你需要设计一个算法来实现二叉树的序列化与反序列化。这里不限定你的序列 / 反序列化算法执行逻辑,你只需要保证一个二叉树可以被序列化为一个字符串并且将这个字符串反序列化为原始的树结构。提示:输入输出格式与 LeetCode 目前使用的方式一致, ......
序列 Offer 37

466. 统计重复个数

统计重复个数 定义str =[s, n]表示 str 由 n 个字符串 s 连接构成。 例如,str == ["abc", 3] =="abcabcabc" 。 如果可以从 s2 中删除某些字符使其变为 s1,则称字符串 s1 可以从字符串 s2 获得。 例如,根据定义,s1 = "abc" 可以从 ......
个数 466

分治算法:剑指 Offer 36. 二叉搜索树与双向链表

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

【剑指 Offer】 59 - II. 队列的最大值

【题目】 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value、push_back 和 pop_front 的均摊时间复杂度都是O(1)。若队列为空,pop_front 和 max_value 需要返回 -1示例 1:输入: ["MaxQueue","push ......
最大值 队列 Offer 59 II

【剑指 Offer】 59 - I. 滑动窗口的最大值

【题目】 给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] 解释: 滑动窗口的位置 最大值 [1 3 -1] -3 5 3 6 7 3 1 [3 -1 - ......
最大值 Offer 59

区间和的个数

给你一个整数数组 nums 以及两个整数 lower 和 upper 求数组中,值位于范围 [lower, upper] (包含 lower 和 upper)之内的 区间和的个数 ###一. 前缀和+双重循环(超时) class Solution { public: int countRangeSu ......
区间 个数

第9次作业-函数求输入的任意两个数的平均值,并输出三个数中的最小值

##第9次作业-函数求输入的任意两个数的平均值,并输出三个数中的最小值 | 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/sdscfz/SF3 | | | | | 这个作业要求在哪里 | https://edu.cnblogs.com/campus/sdsc ......
平均值 函数 个数 两个

第9次作业-函数求输入的任意两个数的平均值,并输出三个数中的最小值

第九次作业 | 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/sdscfz/SF3 | | | | | 这个作业要求在哪里 | (https://edu.cnblogs.com/campus/sdscfz/SF3/homework/12969) | | 这个 ......
平均值 函数 个数 两个

第9次作业-函数求输入的任意两个数的平均值,并输出三个数中的最小值。

| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/sdscfz/SF3 | | | | | 这个作业要求在哪里 | https://edu.cnblogs.com/campus/sdscfz/SF3/homework/12910 | | 这个作业的目标 | ......
平均值 函数 个数 两个

剑指 Offer II 017. 含有所有字符的最短字符串

题目链接:剑指 Offer II 017. 含有所有字符的最短字符串 方法:同向双指针 解题思路 基本思路:统计 $t$ 字符串中每个字符的个数,然后使用双指针遍历字符串 $s$,当窗口覆盖 $t$ 中所有字符时,开始缩短左指针到可以到达的最右侧,取窗口最小的字符串为答案; 需要考虑的问题: 什么情 ......
字符 字符串 Offer 017 II

第9次作业-函数求输入的任意两个数的平均值,并输出三个数中的最小值。

| 这个作业属于哪个课程 | https://edu.cnblogs.com/campus/sdscfz/SF3 | | | | | 这个作业要求在哪里 | https://edu.cnblogs.com/campus/sdscfz/SF3/homework/12910 | | 这个作业的目标 | ......
平均值 函数 个数 两个

分治算法:剑指 Offer 25. 合并两个排序的链表

题目描述: 输入两个递增排序的链表,合并这两个链表并使新链表中的节点仍然是递增排序的。 限制: 0 <= 链表长度 <= 1000 解题思路: class Solution { public ListNode mergeTwoLists(ListNode l1, ListNode l2) { Lis ......
算法 两个 Offer 25

第9次作业-函数求输入的任意两个数的平均值,并输出三个数中的最小值。

这个作业属于哪个课程https://edu.cnblogs.com/campus/sdscfz/SF3 这个作业要求在哪里 https://edu.cnblogs.com/campus/sdscfz/SF3/homework/12910 这个作业的目标 第9次作业-函数求输入的任意两个数的平均值,并 ......
平均值 函数 个数 两个