两个offer

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

题不难,但理解思路很重要。 做法是单调队列。 如果求滑动窗口的最大值,那么必须在单调队列保持严格单调递减(只能小于,小于等于也不行),为啥不行还不是很清楚。 并且,单调队列一定存储的是数组的索引!!否则无法确定滑动窗口的开始位置以及开始时的队列存储最大值的情况。 class Solution { p ......
最大值 Offer 59

剑指 Offer 48. 最长不含重复字符的子字符串(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230825204039900-1316189837.png) ``` class Solution { //本题采用双指针滑动窗口的方法 public: int le ......
字符 字符串 Offer 48

剑指 Offer 46. 把数字翻译成字符串(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230825163545791-888221067.png) ``` class Solution { //本题只需要返回不同翻译方法的数量,不需要列出所有翻译结果,所 ......
字符串 字符 数字 Offer 46

【剑指Offer】64、滑动窗口的最大值

# 【剑指Offer】64、滑动窗口的最大值 **题目描述:** 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2, ......
最大值 Offer

《剑指Offer》-60-n 个骰子的点数

打印出 n 个骰子所能扔出的所有点数的概率 ### 思路 dp[i][j] 表示 i 个骰子,投出 j 的概率 而概率 = 点数出现的次数 / 总次数 而 i 个骰子掷出 j 的次数 = i - 1 个骰子掷出 j- 1 的次数 + i - 1 个骰子掷出 j -2 的次数 + … + i - 1 ......
骰子 点数 Offer 60

【剑指Offer】63、数据流中的中位数

# 【剑指Offer】63、数据流中的中位数 **题目描述:** 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值。如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值。我们使用Insert()方法读取数据流,使用Ge ......
中位数 数据流 数据 Offer

【剑指Offer】46、圆圈中最后剩下的数

# 【剑指Offer】46、圆圈中最后剩下的数 **题目描述:** 每年六一儿童节,牛客都会准备一些小礼物去看望孤儿院的小朋友,今年亦是如此。HF作为牛客的资深元老,自然也准备了一些小游戏。其中,有个游戏是这样的:首先,让小朋友们围成一个大圈。然后,他随机指定一个数m,让编号为0的小朋友开始报数。每 ......
圆圈 Offer

剑指 Offer 47. 礼物的最大价值(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230824204353561-1984941428.png) ``` class Solution { public: int maxValue(vector>& g ......
礼物 价值 Offer 47

剑指 Offer 63. 股票的最大利润(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230824200740170-1968883688.png) ``` class Solution { public: int maxProfit(vector& p ......
利润 股票 Offer 63

一些学习网站和自己写的两个计算周的函数

toad:https://blog.csdn.net/zzpl139/article/details/127553557风控指标:https://blog.csdn.net/eroswang/article/details/117735703vintage:https://zhuanlan.zhih ......
函数 两个 网站

删除文章里的中文符号和空格,换成英文逗号,并获取最后两个标签

def update_biaoqian(tag_list, title): if len(tag_list) == 0: print('没有标签,取标题作为标签') titless = re.sub('\s', ',', title) tag_list = title.replace('、', ', ......
逗号 空格 符号 两个 标签

如果一个windows主机上插两个蓝牙适配器会如何——windows主机蓝牙适配器驱动错误排查

事情是这样的,在某鱼上挂了一个蓝牙适配器,是自己多年前买的,给自己的老电脑用的,那一台老电脑主板上没有自带蓝牙,于是就在某东上买了一个蓝牙适配器: 但是这几年新买的电脑都自带蓝牙,于是准备把这个适配器出手,不过神奇的是这么多年过去了,这个蓝牙适配器居然还是那款再卖,看来这个蓝牙设备这几年没有啥变化呀 ......
适配器 主机 windows 错误 两个

《剑指Offer》-51-数组中数字出现的次数

数组中除了两个数字,其他数字都出现了两次,找出这两个只出现了一次的数字 判断一个数字出现过没有,我们最常用的就是 set,set 中存在,那么就说明已经出现过了 但是这里要求空间复杂度`O(1)`,所以得换个思路 于是我想到了排序,将数组排序后相同的两个重复元素肯定是相邻的,这样我们只需要一次遍历就 ......
数组 次数 数字 Offer 51

【剑指Offer】45、扑克牌顺子

# 【剑指Offer】45、扑克牌顺子 **题目描述:** LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王, ......
扑克牌 扑克 Offer

【剑指Offer】42、和为S的两个数字

# 【剑指Offer】42、和为S的两个数字 **题目描述:** 输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S,如果有多对数字的和等于S,输出两个数的乘积最小的。 **输出描述:** 对应每个测试案例,输出两个数,小的先输出。 **解题思路:** 对于本题,比上一题简 ......
两个 数字 Offer

【剑指Offer】41、和为S的连续正数序列

# 【剑指Offer】41、和为S的连续正数序列 **题目描述:** 小明很喜欢数学,有一天他在做数学作业时,要求计算出9~16的和,他马上就写出了正确答案是100。但是他并不满足于此,他在想究竟有多少种连续的正数序列的和为100(至少包括两个数)。没多久,他就得到另一组连续正数和为100的序列:1 ......
正数 序列 Offer

剑指 Offer 10- I. 斐波那契数列(简单)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230823210303470-2008442646.png) ``` class Solution { //动态规划 public: int fib(int n) { ......
数列 Offer 10

剑指 Offer 41. 数据流中的中位数(困难)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230823202939041-4798572.png) ``` class MedianFinder { //暴力解法:每添加一个数字后用sort进行排序,然后返回中 ......
中位数 数据流 数据 Offer 41

【剑指Offer】33、丑数

# 【剑指Offer】33、丑数 **题目描述:** 把只包含质因子2、3和5的数称作丑数(Ugly Number)。例如6、8都是丑数,但14不是,因为它包含质因子7。 习惯上我们把1当做是第一个丑数。求按从小到大的顺序的第N个丑数。 **解题思路:** 所谓一个数m是另一个数n的因子,是指n能被 ......
Offer

【剑指Offer】31、从1到n整数中1出现的次数

# 【剑指Offer】31、从1到n整数中1出现的次数 **题目描述:** 求出1-13的整数中1出现的次数,并算出100-1300的整数中1出现的次数?为此他特别数了一下1-13中包含1的数字有1、10、11、12、13因此共出现6次,但是对于后面问题他就没辙了。ACMer希望你们帮帮他,并把问题 ......
整数 次数 Offer

【剑指Offer】29、最小的K个数

# 【剑指Offer】29、最小的K个数 **题目描述:** 输入n个整数,找出其中最小的K个数。例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4。 **解题思路:** 本题最直观的解法就是将输入的n个整数排序,排序之后位于最前面的k个数就是最小的k个数,这取决于排 ......
个数 Offer

Leetcode 349.两个数组的交集(Intersection of two arrays)

[题目链接🔗](https://leetcode.cn/problems/intersection-of-two-arrays) 给定两个数组 nums1和 nums2 ,返回 它们的交集 。输出结果中的每个元素一定是 唯一 的。我们可以 不考虑输出结果的顺序 。 示例 1: ``` 输入:num ......
数组 交集 Intersection Leetcode 两个

剑指 Offer 51. 数组中的逆序对(困难)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230822211543951-605508334.png) ``` class Solution { //这道题利用了归并排序(分而治之)的思想,就是在每一次排序中统 ......
逆序 数组 Offer 51

C# 判断两个时间区间是否交叉重叠 (Determine Whether Two Date Ranges Overlap)

给定两个日期间隔`A`和`B`,组件`.start`和`.end`和约束`.start = B.start AND A.start =与>和 B.StartDate && A.StartDate < B.EndDate) { //range is conflict } ``` 引用:https:// ......
区间 Determine 两个 Whether Overlap

Leetcode 两个队列实现栈 swift

queue1 是最后生成的栈 queue2 是临时队列,把新进来的先放进去,再把queue1里的数据从头到尾读进去,然后互换 class MyStack { var queue1: [Int] = [] var queue2: [Int] = [] init() { } func push(_ x: ......
队列 Leetcode 两个 swift

【剑指Offer】48、不用加减乘除做加法

# 【剑指Offer】48、不用加减乘除做加法 **题目描述:** 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 **解题思路:** 本题同样是对发散思维能力的一个考察。首先,我们需要考虑是要求和却不能使用四则运算,那么还能用什么呢?除了四则运算以外,还可以进行计算 ......
加减乘除 加法 不用 Offer

【剑指Offer】11、二进制中1的个数

# 【剑指Offer】11、二进制中1的个数 **题目描述:** 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。 **解题思路:** 本题有以下两个解决方案: (1)**依次判断每一位**。判断的方法是先与1相与,为1则说明该位为1,为0说明该位为0,然后将1左移,再判断倒数第二位 ......
二进制 个数 Offer

【剑指Offer】47、求1+2+3+4+···+n

# 【剑指Offer】47、求1+2+3+4+···+n **题目描述:** 求1+2+3+...+n,要求不能使用乘除法、for、while、if、else、switch、case等关键字及条件判断语句(A?B:C)。 **解题思路:** 本题本身没有太多的实际意义,但是可以对程序员的发散思维能力 ......
183 Offer

剑指 Offer 45. 把数组排成最小的数(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230821220815065-610363687.png) ``` class Solution { public: string minNumber(vector& ......
数组 Offer 45

剑指 Offer 33. 二叉搜索树的后序遍历序列(中等)

题目: ![](https://img2023.cnblogs.com/blog/2679751/202308/2679751-20230821202253841-558226362.png) 结合以下图理解该方法 ![](https://img2023.cnblogs.com/blog/26797 ......
序列 Offer 33