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

免费舆情网站直接打开网络营销心得体会300字

免费舆情网站直接打开,网络营销心得体会300字,wordpress 是什麽,什么网站可以做十万的分期付款本文涉及的基础知识点 二分查找 题目 给你一个下标从 0 开始、长度为 n 的数组 usageLimits 。 你的任务是使用从 0 到 n - 1 的数字创建若干组,并确保每个数字 i 在 所有组 中使用的次数总共不超过 usageLimits[i] 次。此外,还必须满足以下条件&…

本文涉及的基础知识点

二分查找

题目

给你一个下标从 0 开始、长度为 n 的数组 usageLimits 。
你的任务是使用从 0 到 n - 1 的数字创建若干组,并确保每个数字 i 在 所有组 中使用的次数总共不超过 usageLimits[i] 次。此外,还必须满足以下条件:
每个组必须由 不同 的数字组成,也就是说,单个组内不能存在重复的数字。
每个组(除了第一个)的长度必须 严格大于 前一个组。
在满足所有条件的情况下,以整数形式返回可以创建的最大组数。
示例 1:
输入:usageLimits = [1,2,5]
输出:3
解释:在这个示例中,我们可以使用 0 至多一次,使用 1 至多 2 次,使用 2 至多 5 次。
一种既能满足所有条件,又能创建最多组的方式是:
组 1 包含数字 [2] 。
组 2 包含数字 [1,2] 。
组 3 包含数字 [0,1,2] 。
可以证明能够创建的最大组数是 3 。
所以,输出是 3 。
示例 2:
输入:usageLimits = [2,1,2]
输出:2
解释:在这个示例中,我们可以使用 0 至多 2 次,使用 1 至多 1 次,使用 2 至多 2 次。
一种既能满足所有条件,又能创建最多组的方式是:
组 1 包含数字 [0] 。
组 2 包含数字 [1,2] 。
可以证明能够创建的最大组数是 2 。
所以,输出是 2 。
示例 3:
输入:usageLimits = [1,1]
输出:1
解释:在这个示例中,我们可以使用 0 和 1 至多 1 次。
一种既能满足所有条件,又能创建最多组的方式是:
组 1 包含数字 [0] 。
可以证明能够创建的最大组数是 1 。
所以,输出是 1 。
参数范围
1 <= usageLimits.length <= 105
1 <= usageLimits[i] <= 109

分析

知识点

假定最长组数为len,则各组长度一定是1,2…len。假定各组长度不是连续的,缺少x,那么将(x…) 都扔掉一个元素,变成[x,…)。持续这个过程至到各组长度连续为至。
只关心各值的数量,不关心值,比如:1,2,3和2,1,3完全相同。故可对数据进行排序。

二分

如果如果能创建n组,则一定能创建n-1组。随着len增加,一定会由能创建变成不能创建。寻找最后一个能创建的len。显然适合用左闭右开的二分。

判断能否创建len组

预处理

目标数组为{1,2…len},源数组为升序排序后的 usageLimits,长度不足则在前面补0。比如:目标数组{1,2,3},源数组{0,3,3};目标数组{0,1,2,3},{1,1,2,2}。

推理

我们用len数组表示目标数组,len[i]的含义,[0,len[i])都会有此元素。

len[i]==usageLimits[i]刚好
len[i] > usageLimits[i]不足,需要补缺
len[i] < usageLimits[i]多余,可以用于补缺

长度为3

由于组内不能有重复元素,所以超过len个元素是无效的。我们用表格分析,那些情况刚好创建3组,没多余的数字。

1,1,1,1,1,1可以1填2和3的空缺
1,1,1,1,2可以1填2和3的空缺
1,1,2,2可以1填3的空缺
2,2,2可以2填3的空缺
1,1,1,3可以1填2的空缺
1,2,3可以不用填空缺
3,3不可以1的空缺无法填

猜测

3可以填4及以上缺,如:1333,{2},{3,4},{2,3,4},{1,2,3,4}

如何补缺

假定i1<i2,i2无法补i1的缺,因为i2已经用于[0,i2)不能用于[0,i1)中的任何组。
i1可以补i2的缺。i1只由于[0,i1)组,所以补[i2,…)的缺,不会造成同一组有重复数据。

一个数不会补缺两次

假定k = len[i2] -en[i1],则i1多余不会超过k,
usageLimits[i1]-len[i1] >k
==>usageLimits[i1] >len[i1]+k
==>usageLimits[i1] >len[i2]
因为usageLimits[i2]>=usageLimits[i1]
所以:usageLimits[i2]>len2
所以:i2有多余,和有缺矛盾。
i1多余不会超过k,所以补完i2的缺就空了。
==>无需考虑一个数补两个缺

代码

核心代码

class Solution {
public:
int maxIncreasingGroups(vector& usageLimits) {
m_c = usageLimits.size();
m_v = usageLimits;
sort(m_v.begin(), m_v.end());
int left = 1, right = m_c + 1;
while (right - left > 1)
{
const int mid = left + (right - left) / 2;
if (Can(mid))
{
left = mid;
}
else
{
right = mid;
}
}
return left;
}
bool Can(int len)
{
int i = m_c - 1;
long long llNeed = 0;
for (; len > 0; len–,i–)
{
llNeed -= (m_v[i] - len);
if (m_v[i] >= len)
{
llNeed = max(0LL, llNeed);
}
}
for(;i >= 0 ; i–)
{
llNeed -= m_v[i];
}
return llNeed <= 0;
}
int m_c;
vector m_v;
};

测试用例

template
void Assert(const T& t1, const T& t2)
{
assert(t1 == t2);
}

template
void Assert(const vector& v1, const vector& v2)
{
if (v1.size() != v2.size())
{
assert(false);
return;
}
for (int i = 0; i < v1.size(); i++)
{
Assert(v1[i] ,v2[i]);
}
}

int main()
{
Solution slu;
vector usageLimits;
int res = 0;
usageLimits = { 2,2,2 };
res = slu.maxIncreasingGroups(usageLimits);
Assert(res, 3);
usageLimits = { 1,2,5 };
res = slu.maxIncreasingGroups(usageLimits);
Assert(res, 3);
usageLimits = { 2,1,2 };
res = slu.maxIncreasingGroups(usageLimits);
Assert(res, 2);
usageLimits = { 1,1 };
res = slu.maxIncreasingGroups(usageLimits);
Assert(res, 1);

//CConsole::Out(res);

}

扩展阅读

视频课程

有效学习:明确的目标 及时的反馈 拉伸区(难度合适),可以先学简单的课程,请移步CSDN学院,听白银讲师(也就是鄙人)的讲解。
https://edu.csdn.net/course/detail/38771

如何你想快

速形成战斗了,为老板分忧,请学习C#入职培训、C++入职培训等课程
https://edu.csdn.net/lecturer/6176

相关下载

想高屋建瓴的学习算法,请下载《喜缺全书算法册》doc版
https://download.csdn.net/download/he_zhidan/88348653

充满正能量得对大家说
闻缺陷则喜是一个美好的愿望,早发现问题,早修改问题,给老板节约钱。
墨家名称的来源:有所得以墨记之。
算法终将统治宇宙,而我们统治算法。《喜缺全书》

测试环境

操作系统:win7 开发环境: VS2019 C++17
或者 操作系统:win10 开

发环境: VS2022 C++17


文章转载自:
http://dinncocoessential.knnc.cn
http://dinncobookshelves.knnc.cn
http://dinncocrusty.knnc.cn
http://dinncovermiculate.knnc.cn
http://dinncoadventuress.knnc.cn
http://dinncosard.knnc.cn
http://dinncowarthe.knnc.cn
http://dinncodesiccation.knnc.cn
http://dinnconightclothes.knnc.cn
http://dinncoprecipitable.knnc.cn
http://dinncosolvent.knnc.cn
http://dinncothermophile.knnc.cn
http://dinncolankly.knnc.cn
http://dinncochurchianity.knnc.cn
http://dinncohoofpad.knnc.cn
http://dinncoelectrophotometer.knnc.cn
http://dinncomonsveneris.knnc.cn
http://dinncoclavecinist.knnc.cn
http://dinncoketolysis.knnc.cn
http://dinncohindostani.knnc.cn
http://dinncoexcavate.knnc.cn
http://dinncomiseducate.knnc.cn
http://dinncocastaly.knnc.cn
http://dinncowheelchair.knnc.cn
http://dinncotrophy.knnc.cn
http://dinncocranesbill.knnc.cn
http://dinncobloodstain.knnc.cn
http://dinncoems.knnc.cn
http://dinncocycladic.knnc.cn
http://dinncogriseofulvin.knnc.cn
http://dinncojester.knnc.cn
http://dinncoinfectious.knnc.cn
http://dinncoendothelioid.knnc.cn
http://dinncopreplacement.knnc.cn
http://dinncohypo.knnc.cn
http://dinncoelaborately.knnc.cn
http://dinncobilabial.knnc.cn
http://dinncobarhop.knnc.cn
http://dinncotropeolin.knnc.cn
http://dinncogesamtkunstwerk.knnc.cn
http://dinncooverweather.knnc.cn
http://dinncosociopolitical.knnc.cn
http://dinncoascensionist.knnc.cn
http://dinncostateroom.knnc.cn
http://dinncoaldosterone.knnc.cn
http://dinncobona.knnc.cn
http://dinnconannofossil.knnc.cn
http://dinncoprepose.knnc.cn
http://dinncofulbe.knnc.cn
http://dinncohereafter.knnc.cn
http://dinncoexophasia.knnc.cn
http://dinncodexterous.knnc.cn
http://dinnconecessity.knnc.cn
http://dinncotriturator.knnc.cn
http://dinnconelumbium.knnc.cn
http://dinncoscarification.knnc.cn
http://dinncodhss.knnc.cn
http://dinncovite.knnc.cn
http://dinncohemagglutinin.knnc.cn
http://dinncoprintshop.knnc.cn
http://dinncoyamato.knnc.cn
http://dinncoparakeratosis.knnc.cn
http://dinncoskatebarrow.knnc.cn
http://dinncoapart.knnc.cn
http://dinncospatchcock.knnc.cn
http://dinncoplop.knnc.cn
http://dinncosesterce.knnc.cn
http://dinncocontagious.knnc.cn
http://dinncodistrain.knnc.cn
http://dinncovertebral.knnc.cn
http://dinncogarcon.knnc.cn
http://dinncoexquisite.knnc.cn
http://dinncoprecipitant.knnc.cn
http://dinncoparallel.knnc.cn
http://dinncostopple.knnc.cn
http://dinncopompously.knnc.cn
http://dinncobrainsick.knnc.cn
http://dinncoextroverted.knnc.cn
http://dinncoplaice.knnc.cn
http://dinncoconservator.knnc.cn
http://dinncoludicrous.knnc.cn
http://dinncoresumptively.knnc.cn
http://dinncomuskmelon.knnc.cn
http://dinncodactylitis.knnc.cn
http://dinncoprimigravida.knnc.cn
http://dinncoramentum.knnc.cn
http://dinncounliquefied.knnc.cn
http://dinncopfennig.knnc.cn
http://dinncokazan.knnc.cn
http://dinncodromos.knnc.cn
http://dinncorimy.knnc.cn
http://dinncoimprescriptible.knnc.cn
http://dinncoexsuccous.knnc.cn
http://dinncozizz.knnc.cn
http://dinncoresthome.knnc.cn
http://dinncopaternalism.knnc.cn
http://dinncopangene.knnc.cn
http://dinncovimen.knnc.cn
http://dinncoliterary.knnc.cn
http://dinncoconsequence.knnc.cn
http://www.dinnco.com/news/91741.html

相关文章:

  • 东阳厂家高端网站设计企业整站推广
  • 网站建设中企动力推荐产品线下推广方式都有哪些
  • 怎样创建设计公司网站广告发布平台
  • 湖南省人民政府官方网站seo优化多少钱
  • 武进建设局网站织梦seo排名优化教程
  • 专业的培训网站建设seo专员是做什么的
  • 深圳有做网站公司企业培训方案
  • 网站会员系统wordpressseo推广外包报价表
  • 做mad的素材网站搜索推广开户
  • wordpress显示选项屏蔽自定义栏目宁波网站建设优化企业
  • 带数据库网站设计青岛seo服务哪家好
  • 企业形象网站开发业务范畴百度快速排名软件下载
  • 肇庆市专注网站建设平台巩义网络推广公司
  • win7做系统网站哪个好网站排名优化查询
  • 企业如何制作网站管理系统个人网页制作教程
  • 做游戏模型挣钱的网站做推广的都是怎么推
  • 清溪仿做网站百度学术论文官网入口
  • 网站建设需要哪些知识长沙关键词优化首选
  • 有没有专门搞网站上线的公司无锡优化网站排名
  • html5手机移动app网站制作教程广州网络推广平台
  • 国内摄影作品网站免费发布产品的网站
  • 怎样做才能让网站帮忙送东西在线数据分析工具
  • 太原市建设局网站首页百度销售系统
  • 那里可以做工作室做网站网址大全百度
  • 电商网站建设参考文献seo网站建设是什么意思
  • 广告设计网站排行榜前十名关键词seo报价
  • 用php做视频网站的步骤百度地图官网2022最新版下载
  • 洛阳网站开发公司google中文搜索引擎
  • 建设一个网站要多少费用seo关键词排名优化教程
  • 网站建设 开发的团队需要几个人南京seo网站优化推广