首页 > 编程语言 >程序员面试金典---21

程序员面试金典---21

时间:2023-05-04 21:33:09浏览次数:39  
标签:sort return 21 min 金典 number param --- Math

最小差

思路:

先将两个数组升序排序,然后使用双指针逐个进行比较。

/**
 * @param {number[]} a
 * @param {number[]} b
 * @return {number}
 */
var smallestDifference = function(a, b) {
    a.sort((a, b) => a - b)
    b.sort((a, b) => a - b)
    const lenA = a.length
    const lenB = b.length
    let l = 0, r = 0, min = Number.MAX_VALUE
    console.log(min)
    while(l < lenA && r < lenB){
        min = Math.min(min, Math.abs(a[l] - b[r]))

        if(a[l] > b[r]){
            r++
        }else{
            l++
        }
    }
    return min
};

最大数值

思路:

数学上,两个数最大的那个为:

\[max(a,b) = (|a-b| + a + b) / 2 \]

/**
 * @param {number} a
 * @param {number} b
 * @return {number}
 */
var maximum = function(a, b) {
    return (Math.abs(a - b) + a + b) / 2
};

标签:sort,return,21,min,金典,number,param,---,Math
From: https://www.cnblogs.com/dgqp/p/17372578.html

相关文章

  • 从代码上解析Meta-learning
    文章目录1.背景2.Meta-learning理解2.1Meta-learning到底做什么2.2MAML算法2.3MAML算法步骤2.4MAML代码分析和实现3.参考文章1.背景meta-learning区别于pretraining,它主要通过多个task来学习不同任务之间的内在联系,通俗点说,也即是通过多个任务来学习共同的参数。举个例子,人类在......
  • C++第四章课后习题4-19
    定义一个CPU类1#include<iostream>2usingnamespacestd;3enumCore{4Single,Dual,Quad5};6enumWords{7Bits32,Bits648};9enumHyperThread{10Support,Notsupport11};12classCPU{13public:14CPU(longint......
  • Exp6 MSF应用基础 20202211王宏韬
    目录1基础问题回答2实验总结与体会3离实践缺少什么4实践过程记录主动攻击实践针对浏览器攻击针对adobe客户端攻击应用辅助模块tcp端口扫描   1基础问题回答 exploit:利用发现的安全漏洞或配置弱点对靶机进行攻击,将payload发送给靶机。payload:植入靶机......
  • 图像处理-02
    1.为什么要进行频域变化?(用快速傅利叶变换的形式写下来。)一个图象经过傅立叶变换后,就从空域变到了频域,因此我们可以用信号处理中对于频域信号的处理方法对一幅图象进行处理。2.如果直接进行降采样会出现什么效果?所以高斯金字塔的过程应该是?高斯金字塔与拉普拉斯金字塔之间......
  • java基础-数组的定义,静动态初始化,数组元素的相关操作、数组的内存图
    一、什么是数组数组指的是一种容器,可以用来存储同种数据类型的多个值。数组容器在存储数据的时候,需要结合隐式转换考虑。例如:int类型的数组容器,只能存储byte、short、int类型的数据。(byte<short<int<long<float<double)例如:double类型的数组容器,可以存储byte、short、int、long......
  • Java设计模式-建造者模式
    简介建造者模式是一种创建型设计模式,用于将复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。建造者模式通过将复杂对象的构建过程分解为多个简单的步骤来实现。与其他创建型模式不同,建造者模式强调的是将构建过程与表示分离,而不是将对象与其构建方式分离......
  • 1-ORB-SLAM3论文重点导读及整体算法流程梳理-归纳
    摘要ORB-SLAM3是第一个能够执行纯视觉、视觉-惯导以及多地图的SLAM系统,可以在单目,双目以及RGB-D相机上使用针孔以及鱼眼模型。本文主要新颖之处在于基于特征的VIO紧耦合系统,该系统完全依赖于最大后验估计,即使在IMU初始化阶段也是如此。本系统在小型和大型、室内和室外环境中实时......
  • Exp6 MSF应用基础-20201324
    目录1实践内容1.0安装靶机1.1一个主动攻击实践,尽量使用最新的类似漏洞;主动攻击实践MS08-0671.2一个针对浏览器的攻击,尽量使用最新的类似漏洞;1.2.1针对浏览器的攻击ms06_013_createtextrange1.2.2针对浏览器的攻击MS14-0641.3一个针对客户端的攻击,如Adobe或office,尽量使用最......
  • Python教程_编程入门自学教程_菜鸟教程-免费教程分享
    教程简介Python由荷兰数学和计算机科学研究学会的吉多·范罗苏姆于1990年代初设计,作为一门叫做ABC语言的替代品。Python提供了高效的高级数据结构,还能简单有效地面向对象编程。Python语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的编程语言,[2]......
  • JVM系列---【使用jconsole开启JVM监控】
    使用jconsole开启JVM监控设置远程监控相关选项对于远程Java进程的连接,会要麻烦些,首先需要在需监控的远程Java程序启动脚本中加入与JVM远程监控相关的选项:1.开启JVM远程监控-Dcom.sun.management.jmxremote=true2.监控的IP地址-Djava.rmi.server.hostname=192.168.91.166,远......