上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 32 下一页
摘要: ###一. 买卖一次(简单) dp[i]表示第i天卖出时的最大值,可以用滚动变量优化 ``` class Solution { public: int maxProfit(vector& prices) { int n = prices.size(); vector dp(n+1); int min 阅读全文
posted @ 2023-04-24 19:17 失控D大白兔 阅读(30) 评论(0) 推荐(0) 编辑
摘要: 给你一个字符串 s ,找出它的所有子串并按字典序排列,返回排在最后的那个子串 ###1. 暴力截取比较(超时) 记录最大字符位置,暴力截取比较 class Solution { public: string lastSubstring(string s) { map<char, vector<int 阅读全文
posted @ 2023-04-24 01:44 失控D大白兔 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 给定一个整数 n,计算所有小于等于 n 的非负整数中数字 1 出现的个数 ###1. 固定每一位找规律 class Solution { public: int countDigitOne(int n) { unsigned i = 1, ans = 0, befor = 0; //i表示记录到了第 阅读全文
posted @ 2023-04-24 00:10 失控D大白兔 阅读(32) 评论(0) 推荐(0) 编辑
摘要: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。 你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 ###1. 暴力遍历(超时) 暴力法 class Solution { public: vector<int 阅读全文
posted @ 2023-04-23 22:02 失控D大白兔 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数 ###1. 暴力排序查找 排序+去重+二分查找 class Solution { public: int firstMissingPositive(vector<int>& nums) { sort(nums.begin(), 阅读全文
posted @ 2023-04-23 20:47 失控D大白兔 阅读(7) 评论(0) 推荐(0) 编辑
摘要: 给你一个整数数组 nums,返回nums中最长等差子序列的长度 ###一. 动态规划 该题类似最长递增子序列 dp[i][j]定义为以i为结尾,公差为j的最长等差数列长度 class Solution { public: int longestArithSeqLength(vector<int>& 阅读全文
posted @ 2023-04-22 22:40 失控D大白兔 阅读(20) 评论(0) 推荐(0) 编辑
摘要: 给你两个整数数组 arr1 和 arr2,返回使 arr1 严格递增所需要的最小「操作」数(可能为 0)。 每一步「操作」中,你可以分别从 arr1 和 arr2 中各选出一个索引, 分别为 i 和 j,0 <= i < arr1.length 和 0 <= j < arr2.length,然后进行 阅读全文
posted @ 2023-04-21 00:50 失控D大白兔 阅读(54) 评论(0) 推荐(0) 编辑
摘要: 给你一个整数数组 arr,请你将该数组分隔为长度 最多 为 k 的一些(连续)子数组。 分隔完成后,每个子数组的中的所有值都会变为该子数组中的最大值。 返回将数组分隔变换后能够得到的元素最大和 ###一. 动态规划(正向递推) 分析:数组的最大和是和子数组最大和关联的,对子问题的优化可以带来对整个问 阅读全文
posted @ 2023-04-19 21:52 失控D大白兔 阅读(31) 评论(0) 推荐(0) 编辑
摘要: 设计一个数据结构,有效地找到给定子数组的 多数元素 。 子数组的 多数元素 是在子数组中出现 threshold 次数或次数以上(大于半数)的元素 分析 对于子区间进行多次查询,采用线段树的方法 给定的数组,我们可以将它分成任意的两部分,分别使用投票算法得到多数元素和出现的次数 如果该数组存在多数元 阅读全文
posted @ 2023-04-18 00:01 失控D大白兔 阅读(13) 评论(0) 推荐(0) 编辑
摘要: ###一. 概述 线段树(Segment Tree)是一种用于**处理区间查询和更新的数据结构** 常用于解决一维区间相关的问题,如区间最值、区间和、区间乘积等 线段树的基本思想是将区间划分为一些小的子区间,并在每个子区间上维护一些信息 例如该区间的最值、和、乘积等,通过将大区间不断划分为小区间,直 阅读全文
posted @ 2023-04-17 11:08 失控D大白兔 阅读(13) 评论(0) 推荐(0) 编辑
上一页 1 ··· 14 15 16 17 18 19 20 21 22 ··· 32 下一页