摘要: 记录一下写法,有时候百度文心一言出来的并不是很准确。 对于一个结构如: struct Point { double dX; double dY; double dZ; }; std::vector<Point> vecPoint; 随意的在其中插入一点数据后,有两种写法求解拟合平面方程参数。 用Qr 阅读全文
posted @ 2024-11-05 14:43 SuzumiyaYui 阅读(190) 评论(0) 推荐(0)
摘要: 题目要求输出结果为处理后数组的最大值与最小值之差。当同时增大或减小所有的数时,处理后的数组和原数组的答案是一样的,想要减小最终答案,需要对两类数字分别进行增大和减小。 由增大得到的最大值,与由减小得到的最小值两者组成的答案,才有可能比原数组中的答案要大。因此,最终得到的答案一定是由减小而得到的最大值 阅读全文
posted @ 2024-10-23 17:00 SuzumiyaYui 阅读(26) 评论(0) 推荐(0)
摘要: 一开始想的很简单,觉得在数组两端维护两个下标,用贪心的方法模拟取数字。 class Solution { public: int takeCharacters(string s, int k) { int left = 0, right = s.size() - 1; if(k == 0) retu 阅读全文
posted @ 2024-09-29 10:48 SuzumiyaYui 阅读(15) 评论(0) 推荐(0)
摘要: 根据题意,很容易就能想到用哈希表来做。先写一个最简单的暴力,完全就是模拟。 long long distinctNames(vector<string> &ideas) { int n = ideas.size(); unordered_map<string, int> um; for (int i 阅读全文
posted @ 2024-09-26 14:11 SuzumiyaYui 阅读(14) 评论(0) 推荐(0)
摘要: 由题目中求“最多可以连续运行的机器人数目”可知,求的是数组子数组的长度,那么就可以直接使用滑动窗口求解。配合前缀和,可以快速的求得滑动窗口内的运行时间和。那么编写代码如下: int maximumRobots(vector<int> &chargeTimes, vector<int> &runnin 阅读全文
posted @ 2024-09-13 16:19 SuzumiyaYui 阅读(20) 评论(0) 推荐(0)
摘要: 根据题意,暴力做法不可取,因为至少要对遍历位置之前的位置,以及不同的子序列阈值(跟k对应的那个)做循环。于是就能够想到使用动态规划的手段去解决问题,考虑需要保存的两个状态,当前序列末尾的数字、子序列阈值,设计一个二维的dp数组dp[i][j],其中i为位置索引,指代当前在nums数组中遍历的位置,j 阅读全文
posted @ 2024-09-09 17:28 SuzumiyaYui 阅读(23) 评论(0) 推荐(0)
摘要: 根据题意,不难想到该题的暴力解法,从数字1开始,逐个累加。每次检查由当前数字num所构成的累加价值是否大于k,假如为真,那么可以输出上一个数字,即num-1 class Solution { public: long long findMaximumNumber(long long k, int x 阅读全文
posted @ 2024-09-01 10:18 SuzumiyaYui 阅读(29) 评论(0) 推荐(0)
摘要: 根据题意,假如alice选择完成第i关到第j关,那么bob需要完成第j+1关到第n关,其中i<=j<n。如此可以想到对关卡数组进行预处理,构建一个前缀和数组,保存假如从第0关每关都通过的话,到第i关所得到的分数。 通过遍历一次前缀和数组,能够得到每个时刻alice得到的分数和bob得到的分数,当al 阅读全文
posted @ 2024-08-18 14:35 SuzumiyaYui 阅读(85) 评论(0) 推荐(0)