Algorithm

本周的算法题为 747. 至少是其他数字两倍的最大数

给你一个整数数组 nums ,其中总是存在 唯一的 一个最大整数 。

请你找出数组中的最大元素并检查它是否 至少是数组中每个其他数字的两倍 。如果是,则返回 最大元素的下标 ,否则返回 -1

示例 1

输入nums = [3,6,1,0]
输出1
解释6 是最大的整数对于数组中的其他整数6 至少是数组中其他元素的两倍6 的下标是 1 所以返回 1 

实现代码如下:

const dominantIndex = function (nums) {
    const sortedNums = nums.toSorted((a, b) => a - b);
    if (sortedNums[sortedNums.length - 1] >= sortedNums[sortedNums.length - 2] * 2) {
        return nums.indexOf(sortedNums[sortedNums.length - 1]);
    } else {
        return -1;
    }
}

解题思路:

  1. 先将数字从小到大排序,生成新数组;
  2. 然后获取最后一位,如果大于等于倒数第二位的数值乘以2,则表示存在满足条件的最大整数,否则返回-1;
  3. 通过indexOf在原nums数组中获取最大整数下标。

Review

Rising auto insurance premiums fuelling inflation - Breaking News English Lesson

汽车保险费的飙升正在加剧美国的通货膨胀压力,成本以最快的速度上涨。仅在3月份,保险费就上涨了2.6%,这意味着成本比去年同期高出了22.2%。这些涨价导致了上个月通货膨胀率上升了0.4%。除汽车保险外,其他任何消费类别都没有像它一样飙升。Foxbusiness.com表示,美国汽车保险的平均费用已经超过每年2300美元,约合每月192美元。不断上涨的价格对最低收入者影响最大。对于那些在生活成本危机中努力维持生计的人来说,保险正成为一种更大的经济负担。

汽车分析师肖恩·塔克试图解释价格上涨背后的原因。他说:“我认为最大的因素是新车和它们越来越贵,所以如果你撞坏了你的车,替换成本非常高,而且现在小事故的费用也很昂贵。”他将现代汽车中的技术、小工具和安全设备的复杂性归因于更昂贵的修理和更换成本。更换电动汽车电池的费用可能在6500美元到2万美元以上。一个简单的刮擦可能会损坏昂贵的嵌入式传感器、摄像头和声纳。推动劳动力成本上升的一个因素是汽车技工的短缺。

Tip

git命令窗口样式美化

用了N年的东西,一直没有关注样式问题,只觉得还行,但是最近安装nvm,发现一下字体看不清,就看下怎么设置样式,才发现这个可以右键Options然后进行设置,除了字体颜色、背景色,还有主题可选,但是试用了一下,不够美观,如下所示:

在网上查了一下,发现这个样式还不错。Git Bash界面的美化(一看必会)_git bash美化-CSDN博客,配置流程就是修改.minttyrc文件,位置在C:\Users\weihao,将里面的使用#注释,然后复制样式覆盖即可。

Share