II

【剑指 Offer】 14- II. 剪绳子 II

【题目】 给你一根长度为 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、 ......
绳子 Offer II 14

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

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

C/C++《程序设计基础II》[2023-04-30]

C/C++《程序设计基础II》[2023-04-30] 2022级计算机专业《程序设计基础II》小组项目作业 作业要求: 1.分小组完成,2-4人一组(每个题目后面有人数要求,见附件1); 2.任课老师按小组分配任务; 3.作业时长为1周; 4.提交内容为:WORD文档,内容包括:题目内容、算法分析 ......
程序设计 基础 程序 2023 04

day 59 503.下一个更大元素II | 42. 接雨水

给定一个循环数组(最后一个元素的下一个元素是数组的第一个元素),输出每个元素的下一个更大元素。数字 x 的下一个更大的元素是按数组遍历顺序,这个数字之后的第一个比它更大的数,这意味着你应该循环地搜索它的下一个更大的数。如果不存在,则输出 -1。 示例 1: 输入: [1,2,1] 输出: [2,-1 ......
雨水 元素 day 503 59

剑指 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

45. 跳跃游戏 II

给定一个长度为 n 的 0 索引整数数组 nums。初始位置为 nums[0]。 每个元素 nums[i] 表示从索引 i 向前跳转的最大长度。换句话说,如果你在 nums[i] 处,你可以跳转到任意 nums[i + j] 处: 0 <= j <= nums[i] i + j < n 返回到达 n ......
45 II

122. 买卖股票的最佳时机 II

给你一个整数数组 prices ,其中 prices[i] 表示某支股票第 i 天的价格。 在每一天,你可以决定是否购买和/或出售股票。你在任何时候 最多 只能持有 一股 股票。你也可以先购买,然后在 同一天 出售。 返回 你能获得的 最大 利润 。 > 贪心解法 假如第0天买入,第3天卖出,那么利 ......
时机 股票 122 II

【剑指 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 II 017. 含有所有字符的最短字符串

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

【DP】LeetCode 213. 打家劫舍 II

题目链接 213. 打家劫舍 II 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums 以前 i 个元素组成(即 nums[i - 1])的状态;dp[i][j] 分别表示以 ......
打家劫舍 LeetCode 213 II

剑指 Offer 55 - II. 平衡二叉树

剑指 Offer 55 - II. 平衡二叉树 输入一棵二叉树的根节点,判断该树是不是平衡二叉树。如果某二叉树中任意节点的左右子树的深度相差不超过1,那么它就是一棵平衡二叉树。 示例 1: 给定二叉树 [3,9,20,null,null,15,7] 3 / \ 9 20 / \ 15 7 返回 tr ......
Offer 55 II

剑指 Offer 10- II. 青蛙跳台阶问题

分析: 因为好久没有练习思维还没有转变,所以这道题思考有点慢 首先还是建立状态,到达第i级台阶时,有f[i]种跳法 最后答案f[n-1] 再状态转移,f[i]=f[i-1]+f[i-2] 赋初值,因为可以选择跳一阶或者两阶,所以初始赋值f[0]和f[1],f[0]=1,f[1]=2 然后编写代码,但 ......
台阶 青蛙 问题 Offer 10

剑指 Offer II 088. 爬楼梯的最少成本

剑指 Offer II 088. 爬楼梯的最少成本 - 力扣(LeetCode) 代码: class Solution(object): def minCostClimbingStairs(self, cost): """ :type cost: List[int] :rtype: int """ ......
楼梯 成本 Offer 088 II

❗❗142环形链表II

力扣刷题 142.环形链表 II-- day4 题目分析 这道题目难度较大, 特别是要求空间复杂度为 O(1)的时候 如果不追求空间复杂度的话, 可以使用 hash 表 把目前遍历的节点指针存入 hash 表, 当下次在 hash 表中找到该节点时, 即找到了答案 空间复杂度为 O(1)的解法: 较 ......
环形 142

剑指Offer——10-II.青蛙跳台阶问题(c语言)

title: 剑指Offer 10-II.青蛙跳台阶问题(c语言) 一只青蛙一次可以跳上1级台阶,也可以跳上2级台阶。求该青蛙跳上一个 n 级的台阶总共有多少种跳法。 答案需要取模 1e9+7(1000000007),如计算初始结果为:1000000008,请返回 1。 示例1: 输入:n = 2 ......
台阶 青蛙 语言 问题 Offer

剑指Offer——53-II. 0~n-1中缺失的数字(c语言)

title: 剑指Offer 53-II. 0~n-1中缺失的数字(c语言) 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 示例1: 输入: [0,1,3] 输出: 2 示例2: ......
缺失 语言 数字 Offer 53

力扣——240.搜索二维数组II(c语言)

title: 力扣——240.搜索二维数组II(c语言) 同《剑指offer》04 题目描述: 编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性: 每行的元素从左到右升序排列。 每列的元素从上到下升序排列。 示例1: 输入:matrix = ......
数组 语言 240

剑指 Offer II 009. 乘积小于 K 的子数组

题目链接:剑指 Offer II 009. 乘积小于 K 的子数组 方法:同向双指针 解题思路 当 $[l, r]$ 子数组的乘积等于 $k$ 时,表明以 $l$ 为左端点且乘积为 $k$ 的子数组的数量为 $r - l + 1$,随着数组长度增加乘积一定增大($[l, r]$ 已经包含端点为 $1 ......
乘积 数组 Offer 009 II

剑指 Offer II 005. 单词长度的最大乘积

题目链接:剑指 Offer II 005. 单词长度的最大乘积 方法:转化为二进制位 + 位运算 解题思路 将 $words[i]$ 字符串中包含的字母转换为二进制位上的 $1$,字符 'a' 对应二进制中的第 $0$ 位上的 $1$,这样每个字符串就对应一个二进制数。 通过两个字符串的二进制数进行 ......
乘积 单词 长度 Offer 005

二分查找:剑指 Offer 53 - II. 0~n-1中缺失的数字

题目描述: 一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。 在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。 限制: 1 <= 数组长度 <= 10000 解题思路: 复杂度分析: 时间复杂度 O(logN): 二分法为对数级别 ......
缺失 数字 Offer 53 II

4/21 力扣 82. 删除排序链表中的重复元素 II

给定一个已排序的链表的头 head , 删除原始链表中所有重复数字的节点,只留下不同的数字 。返回 已排序的链表 。 示例 1: 输入:head = [1,2,3,3,4,4,5]输出:[1,2,5]示例 2: 输入:head = [1,1,1,2,3]输出:[2,3] 提示: 链表中节点数目在范围 ......
元素 21 82 II

GD32F470II芯片LVGL不同驱动方式对比

1、硬件对比 屏幕尺寸: 800*480 颜色格式: RGB565 一帧数据: 800*480*2 = 768000 = 750k LCD 频率 : 32MHz/768000 = 41 HZ lvgl fps : 33 优化等级: AC5-O3 新硬件:GD32F470II SDRAM : 32bi ......
芯片 方式 F470 LVGL 32F

59螺旋矩阵II

力扣刷题 59 螺旋矩阵 II--day2 题目分析 还是要多在纸上模拟, 这道题目要小心边界条件, 保持一致性 一条边一条边处理, 区间是左闭右开 vector<vector<int>> generateMatrix(int n) { vector<vector<int>> result(n, v ......
矩阵 螺旋

【DP】LeetCode 132. 分割回文串 II

题目链接 132. 分割回文串 II 思路 分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律 在数组的动态规划问题中,一般 dp[i] 都是表示以 nums[i] 为结尾的状态;dp[i][j] 分别表示 以 nums1[i] 和 nums2[ ......
回文 LeetCode 132 II

【LeetCode动态规划#08】完全背包问题实战与分析(零钱兑换II)

零钱兑换II 力扣题目链接(opens new window) 给定不同面额的硬币和一个总金额。写出函数来计算可以凑成总金额的硬币组合数。假设每一种面额的硬币有无限个。 示例 1: 输入: amount = 5, coins = [1, 2, 5] 输出: 4 解释: 有四种方式可以凑成总金额: 5 ......
零钱 背包 实战 LeetCode 动态

4月17日leetcode二叉树的层序遍历II

给你二叉树的根节点 root ,返回其节点值 自底向上的层序遍历 。 (即按从叶子节点所在层到根节点所在的层,逐层从左向右遍历)(出自力扣) 这个昨天的二叉树的层序遍历有所不同:需要将从后往前层序遍历二叉树,其实很简单,只需要用vector的逆置函数,将vector中的vector逆置即可。 这里顺 ......
leetcode

剑指 Offer II 085. 生成匹配的括号

题目链接:剑指 Offer II 085. 生成匹配的括号 方法:递归 解题思路 通过选择当前加 '(' 或 ')',递归的计算所有答案。 注意:对于 ')' 的选择,只有当前 ')' 数量少于 '(' 时才可以选择; 代码 class Solution { public: vector<strin ......
括号 Offer 085 II

代码随想录 46天 day198.打家劫舍 | | 337.打家劫舍 III | 213.打家劫舍II

你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个房屋存放金额的非负整数数组,计算你 不触动警报装置的情况下 ,一夜之内能够偷窃到的最高金额。 示例 ......
打家劫舍 随想录 随想 代码 day

PermutationForces II (题目意思的理解,贪心,组合数(计数问题 ))

题解: 认真读题, 理解题目意思,然后提取关键性质 发现性质: 只要遇到 没有在b中出现的值, 都有余力可以去吧他往后面交换 , 然后在 -1的时候就有这么多的选择了 组合数而已, 用过这个数就-- #include<cstdio> #include<iostream> #define MAXN 2 ......
PermutationForces 题目 意思 问题 II

【剑指 Offer】 57 - II. 和为s的连续正数序列

【题目】 输入一个正整数 target ,输出所有和为 target 的连续正整数序列(至少含有两个数)。序列内的数字由小到大排列,不同序列按照首个数字从小到大排列。 示例 1:输入:target = 9输出:[[2,3,4],[4,5]]示例 2:输入:target = 15输出:[[1,2,3, ......
正数 序列 Offer 57 II