当前位置: 首页 > news >正文

wordpress 搜索 404西安网站优化推广方案

wordpress 搜索 404,西安网站优化推广方案,怎么做网盘搜索引擎网站,广告机本文涉及的基础知识点 C二分查找 贪心(决策包容性) LeetCode 2517. 礼盒的最大甜蜜度 给你一个正整数数组 price ,其中 price[i] 表示第 i 类糖果的价格,另给你一个正整数 k 。 商店组合 k 类 不同 糖果打包成礼盒出售。礼盒的 甜蜜度 是礼…

本文涉及的基础知识点

C++二分查找
贪心(决策包容性)

LeetCode 2517. 礼盒的最大甜蜜度

给你一个正整数数组 price ,其中 price[i] 表示第 i 类糖果的价格,另给你一个正整数 k 。
商店组合 k 类 不同 糖果打包成礼盒出售。礼盒的 甜蜜度 是礼盒中任意两种糖果 价格 绝对差的最小值。
返回礼盒的 最大 甜蜜度。
示例 1:
输入:price = [13,5,1,8,21,2], k = 3
输出:8
解释:选出价格分别为 [13,5,21] 的三类糖果。
礼盒的甜蜜度为 min(|13 - 5|, |13 - 21|, |5 - 21|) = min(8, 8, 16) = 8 。
可以证明能够取得的最大甜蜜度就是 8 。
示例 2:

输入:price = [1,3,1], k = 2
输出:2
解释:选出价格分别为 [1,3] 的两类糖果。
礼盒的甜蜜度为 min(|1 - 3|) = min(2) = 2 。
可以证明能够取得的最大甜蜜度就是 2 。
示例 3:

输入:price = [7,7,7,7], k = 2
输出:0
解释:从现有的糖果中任选两类糖果,甜蜜度都会是 0 。

提示:
2 <= k <= price.length <= 105
1 <= price[i] <= 109

C++ 二分查找+贪心

将price按升序排序。本题的Check函数f(x):是否存在某种方案甜蜜度大于等于x。 ⟺ \iff price中任意选择k个元素,两两差的绝对值 >= x。
性质一:某合法方案如果不包括min(price),则将已选择的糖果价格最低的换成min(price),仍然合法。
性质二:如果选择的第i个,第i+1个糖果之间有价格>= 第i个糖果+x,则用此糖果换第i+1个糖果。
总结:选择min(price)后,按性质三选择,简称g(x)。
f(x) → \rightarrow g(x) ;g(x)的方案符合题意,故g(x) → \rightarrow f(x)。即f(x) ⟺ \iff g(x)。
本题的解f(x)的最大解,即g(x)的最大解也是本题答案。
二分类型:寻找尾端。
Check函数的参数范围:[0,1e9]

代码

核心代码

template<class INDEX_TYPE>
class CBinarySearch
{
public:CBinarySearch(INDEX_TYPE iMinIndex, INDEX_TYPE iMaxIndex):m_iMin(iMinIndex),m_iMax(iMaxIndex) {}template<class _Pr>INDEX_TYPE FindFrist( _Pr pr){auto left = m_iMin - 1;auto rightInclue = m_iMax;while (rightInclue - left > 1){const auto mid = left + (rightInclue - left) / 2;if (pr(mid)){rightInclue = mid;}else{left = mid;}}return rightInclue;}template<class _Pr>INDEX_TYPE FindEnd( _Pr pr){int leftInclude = m_iMin;int right = m_iMax + 1;while (right - leftInclude > 1){const auto mid = leftInclude + (right - leftInclude) / 2;if (pr(mid)){leftInclude = mid;}else{right = mid;}}return leftInclude;}
protected:const INDEX_TYPE m_iMin, m_iMax;
};class Solution {public:int maximumTastiness(vector<int>& price, int k) {sort(price.begin(), price.end());auto Check = [&](int mid) {int pre = price.front();int cnt = k - 1;for (int i = 1; (i < price.size())&& cnt ; i++) {if (price[i] >= mid + pre) {cnt--;pre = price[i];}}return 0 == cnt;};return CBinarySearch<int>(0, 1e9).FindEnd(Check);}};

单元测试

vector<int> price;int k;TEST_METHOD(TestMethod1){price = { 1,1000'000'000 }, k = 2;auto res = Solution().maximumTastiness(price, k);AssertEx(999'999'999, res);}TEST_METHOD(TestMethod11){price = { 13, 5, 1, 8, 21, 2 }, k = 3;auto res = Solution().maximumTastiness(price, k);AssertEx(8, res);}TEST_METHOD(TestMethod12){price = { 1,3,1 }, k = 2;auto res = Solution().maximumTastiness(price, k);AssertEx(2, res);}TEST_METHOD(TestMethod13){price = { 7,7,7,7 }, k = 2;auto res = Solution().maximumTastiness(price, k);AssertEx(0, res);}

扩展阅读

我想对大家说的话
工作中遇到的问题,可以按类别查阅鄙人的算法文章,请点击《算法与数据汇总》。
学习算法:按章节学习《喜缺全书算法册》,大量的题目和测试用例,打包下载。重视操作
有效学习:明确的目标 及时的反馈 拉伸区(难度合适) 专注
闻缺陷则喜(喜缺)是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
子墨子言之:事无终始,无务多业。也就是我们常说的专业的人做专业的事。
如果程序是一条龙,那算法就是他的是睛
失败+反思=成功 成功+反思=成功

视频课程

先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771
如何你想快速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开发环境: VS2022 C++17
如无特殊说明,本算法用**C++**实现。

http://www.hrbkazy.com/news/54255.html

相关文章:

  • 网址在线生成短链接seo 优化 工具
  • 电商网站制作公司百度客服在线咨询人工服务
  • 网站改版影响百度天眼查
  • 池州网站制作公搜索引擎优化技术都有哪些
  • 濮阳做公司网站今日新闻最新消息
  • 找人做网站需要什么条件网站优化联系
  • 动态网站建设心得体会微博推广费用一般多少
  • 临平房产做网站的公司广告sem是什么意思
  • dede学校网站模板下载快手seo关键词优化
  • 奥运网站模板网站的优化公司
  • 竞价单页制作教程中国seo关键词优化工具
  • 福建网站建设公司百度站长工具seo查询
  • 学习网站开发心得台州网站建设优化
  • 网站建设通网站seo排名
  • 河南平安建设网站seo专业培训学费多少钱
  • 小说类网站功能建设济南网络优化网站
  • zf厂手表网站网站制作定制
  • 陕西网站建设推广公司西安关键词网站排名
  • 杭州网站建设慕枫海外网站seo优化
  • 八亿建站黄山搜索引擎优化
  • 福田大型商城网站建设军事新闻最新
  • 云鼎大数据888元建站泸州网站优化推广
  • 汽车销售在哪些网站做推广网络推广工具和方法
  • 企业网站数据库表设计seo综合查询站长工具怎么用
  • 哪种语言做网站最合适贴吧推广400一个月
  • 做淘宝客网站需要什么要求营销推广策划方案
  • b2b什么意思win7优化设置
  • 网页制作制作网站互联网营销师报考条件
  • wordpress 会员 按月如何优化网站
  • ui设计和网站建设人员李伟宁线在科技成都网站推广公司