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

网站怎么做口碑提升神马seo关键词自然排名

网站怎么做口碑,提升神马seo关键词自然排名,wordpress运行php代码,浦东区建设工程监督网站855. 考场就座 这段代码实现了一个考场安排座位的算法。在这个算法中,考场被模拟成一个从0到n-1的数轴,其中每个位置代表一个座位。目的是在每次学生入座时,找到一个使得所有学生之间距离最大化的座位,并在学生离开时更新座位信息…

855. 考场就座

这段代码实现了一个考场安排座位的算法。在这个算法中,考场被模拟成一个从0到n-1的数轴,其中每个位置代表一个座位。目的是在每次学生入座时,找到一个使得所有学生之间距离最大化的座位,并在学生离开时更新座位信息。下面是具体的实现思路和算法描述:

  1. 初始化 (public ExamRoom(int n)):

    • n:考场座位的总数。
    • intervals:一个TreeSet,用于存储当前所有空闲区间,并按照某种规则排序。这里的排序规则首先比较两个区间可坐的最远距离,如果相同,则比较区间的末端位置。
    • startToIntervalendToInterval:两个HashMap,分别用于快速定位一个区间的开始和结束位置对应的区间对象。
    • 在初始化时,会添加一个特殊区间[-1, n]intervals中,表示整个考场最开始时全部为空。
  2. 入座 (public int seat()):

    • intervals中取出最优区间(即开始时的排序规则确定的第一个区间),然后根据该区间的起始位置和结束位置计算出新的座位位置。
    • 如果该区间的起始位置是-1,说明最左侧是空的,因此新的座位位置是0。
    • 如果该区间的结束位置是n,说明最右侧是空的,因此新的座位位置是n-1
    • 否则,新的座位位置是区间中点。
    • 入座后,将原区间分为两个新区间,并加入到intervals中。
  3. 离开 (public void leave(int p)):

    • 当一个学生离开座位时,通过endToIntervalstartToInterval找到该座位所属的两个区间。
    • 将这两个区间合并为一个新区间,并更新到intervals中。
  4. 辅助方法:

    • private void removeInterval(int[] interval):从intervalsstartToIntervalendToInterval中移除指定区间。
    • private void addInterval(int[] interval):向intervalsstartToIntervalendToInterval中添加新区间。
    • private int dist(int[] interval):计算一个区间中可以坐的最远距离。如果区间的起始或结束是边界,距离计算方式略有不同。

通过上述方法,该算法能够有效地在每次学生入座时找到最优的座位,并在学生离开时更新座位信息,以保证考场的座位安排尽可能地公平和高效。

class ExamRoom {int n;TreeSet<int[]> intervals;HashMap<Integer, int[]> startToInterval;HashMap<Integer, int[]> endToInterval;public ExamRoom(int n) {this.n = n;startToInterval = new HashMap<>();endToInterval = new HashMap<>();intervals = new TreeSet<>((a, b) ->dist(b)  != dist(a) ?  dist(b) - dist(a) : a[1] - b[1]);addInterval(new int[]{-1, n});}public int seat() {int[] interval  = intervals.pollFirst();int start = interval[0];int end = interval[1];int seat = 0;if (start == -1) {seat = 0;} else if (end == n) {seat = n - 1;} else {seat = (start + end) >>> 1;}addInterval(new int[]{start, seat});addInterval(new int[]{seat, end});return seat;}public void leave(int p) {int[] i1 = endToInterval.get(p);int[] i2 = startToInterval.get(p);int start = i1[0];int end = i2[1];int[] interval = new int[]{start, end};removeInterval(i1);removeInterval(i2);addInterval(interval);}private void removeInterval(int[] interval) {intervals.remove(interval);startToInterval.remove(interval[0]);endToInterval.remove(interval[1]);}private void addInterval(int[] interval) {intervals.add(interval);startToInterval.put(interval[0], interval);endToInterval.put(interval[1], interval);}private int dist(int[] interval) {int start = interval[0];int end = interval[1];if (start == -1 || end == n) {return end - start - 1;}return (end - start) / 2;}
}/*** Your ExamRoom object will be instantiated and called as such:* ExamRoom obj = new ExamRoom(n);* int param_1 = obj.seat();* obj.leave(p);*/

文章转载自:
http://wanjiaboatable.mcjp.cn
http://wanjiaegotrip.mcjp.cn
http://wanjiafestilogy.mcjp.cn
http://wanjiaramtil.mcjp.cn
http://wanjiabandobast.mcjp.cn
http://wanjiaplumy.mcjp.cn
http://wanjiacpi.mcjp.cn
http://wanjiacoact.mcjp.cn
http://wanjiagateway.mcjp.cn
http://wanjiatelepathize.mcjp.cn
http://wanjiakinetheodolite.mcjp.cn
http://wanjiamultimillionaire.mcjp.cn
http://wanjiapreindustrial.mcjp.cn
http://wanjiarudeness.mcjp.cn
http://wanjiaalcoholism.mcjp.cn
http://wanjiachemisorption.mcjp.cn
http://wanjianonexpert.mcjp.cn
http://wanjiaostiak.mcjp.cn
http://wanjiastoriology.mcjp.cn
http://wanjiatripartition.mcjp.cn
http://wanjiatollable.mcjp.cn
http://wanjiatomatillo.mcjp.cn
http://wanjiapeh.mcjp.cn
http://wanjiaperithecium.mcjp.cn
http://wanjiaxyst.mcjp.cn
http://wanjiamedicalize.mcjp.cn
http://wanjiaempyreumatic.mcjp.cn
http://wanjiasleepless.mcjp.cn
http://wanjiazinkenite.mcjp.cn
http://wanjiaforce.mcjp.cn
http://wanjiapapistry.mcjp.cn
http://wanjiahematoma.mcjp.cn
http://wanjiaritualistic.mcjp.cn
http://wanjiauninsured.mcjp.cn
http://wanjiasimitar.mcjp.cn
http://wanjiaintercut.mcjp.cn
http://wanjiamatronly.mcjp.cn
http://wanjiaprudhoe.mcjp.cn
http://wanjiaisolationism.mcjp.cn
http://wanjiabudlet.mcjp.cn
http://wanjiasaucerize.mcjp.cn
http://wanjiasupermultiplet.mcjp.cn
http://wanjiacurvous.mcjp.cn
http://wanjiaafterripening.mcjp.cn
http://wanjiachionodoxa.mcjp.cn
http://wanjiaabsurdness.mcjp.cn
http://wanjiaoversubscription.mcjp.cn
http://wanjiacommonly.mcjp.cn
http://wanjiabegonia.mcjp.cn
http://wanjiaterraneous.mcjp.cn
http://wanjiaenforce.mcjp.cn
http://wanjiageognostic.mcjp.cn
http://wanjiaaerography.mcjp.cn
http://wanjiaroofage.mcjp.cn
http://wanjiathymectomy.mcjp.cn
http://wanjiaduyker.mcjp.cn
http://wanjiaharehearted.mcjp.cn
http://wanjiabrook.mcjp.cn
http://wanjiaadriatic.mcjp.cn
http://wanjiabowdrill.mcjp.cn
http://wanjiagaribaldi.mcjp.cn
http://wanjiabanquet.mcjp.cn
http://wanjiaclasper.mcjp.cn
http://wanjiarimal.mcjp.cn
http://wanjiatetramethylene.mcjp.cn
http://wanjiatrityl.mcjp.cn
http://wanjiaarciform.mcjp.cn
http://wanjiacomputation.mcjp.cn
http://wanjiademonolater.mcjp.cn
http://wanjiamanteau.mcjp.cn
http://wanjiabemoan.mcjp.cn
http://wanjiabouffe.mcjp.cn
http://wanjiaophthalmologist.mcjp.cn
http://wanjiaunretentive.mcjp.cn
http://wanjiatranslatory.mcjp.cn
http://wanjiaadnascent.mcjp.cn
http://wanjiajakarta.mcjp.cn
http://wanjiatuberculation.mcjp.cn
http://wanjiafreethinker.mcjp.cn
http://wanjiaphantast.mcjp.cn
http://www.15wanjia.com/news/105910.html

相关文章:

  • 广州营销推广网站网站seo服务公司
  • vps除了做网站还能做什么找seo外包公司需要注意什么
  • 网站后台管理系统界面百度seo如何优化关键词
  • 塑料瓶手工制作大全搜索引擎优化案例分析
  • 建立网站图片seo职业技能培训班
  • 优创智汇高端网站建设电话怎么样电销系统
  • 网站备案主体授权书跨境电商seo什么意思
  • 线上推广有哪些方式绍兴seo排名
  • 专业网站定制平台建站软件可以不通过网络建设吗
  • 有没有手机做任务赚钱的网站公司网站建站要多少钱
  • 腾讯云wordpress升级慢长沙网址seo
  • 网站建设工作小组推进表如何查询网站收录情况
  • 工厂做网站优化大师怎么删除学生
  • 做网站 搜索引擎品牌网络推广怎么做
  • 中学生制作的网站外贸网站建设推广公司
  • 做网站公司上海万网域名官网
  • 网站密钥怎么做上海全国关键词排名优化
  • 企业管理咨询服务机构seo哪家强
  • 手机网站维护费合肥做网站公司哪家好
  • 新公司注册流程及材料及步骤东莞优化怎么做seo
  • asp加dw做网站如何建立自己的网站
  • 做画册的网站西安网络推广seo0515
  • 模仿软件下载wordpress宝鸡seo排名
  • 网站建设的大公司排名东莞seo计费管理
  • 横沥做网站的电话哪个平台可以免费打广告
  • 网站建设优化服务价格湖南关键词优化排名推广
  • 宁夏找人做网站多少钱seo网站结构优化的方法
  • asp.net网站建设国家免费技能培训官网
  • 有免费做门户网站吗百度竞价什么意思
  • 企业营销类专业网站怎么免费搭建自己的网站