zoukankan      html  css  js  c++  java
  • 【LeetCode】刷题日记02

    最小差

    给定两个整数数组ab,计算具有最小差绝对值的一对数值(每个数组中取一个值),并返回该对数值的差。

    //利用双指针的方法
    var smallestDifference = function(a, b) {
        //先给两个数组排序
        a.sort((a,b) => a-b);
        b.sort((a,b) => a-b);
        //2147483647是题目给出的数组项最大值,方便与后面的值比较取小
        let i = 0, j = 0, min = 2147483647;
        while (i < a.length && j < b.length) {
            if (a[i] < b[j] && i < a.length) {
                min = Math.min(b[j] - a[i], min);
                i++;
            } else if (a[i] < b[j]) {
                min = Math.min(b[j] - a[i], min);
                //这种情况表示的是a数组的指针已经指向了最后一位,只能移动b的指针
                j++;
            }  else if (j < b.length) {
                min = Math.min(a[i] - b[j], min);
                j++;
            } else {
                min = Math.min(a[i] - b[j], min);
                i++;
            }
        }
        return min;
    };

    盛最多水的容器

    var maxArea = function(height) {
        let left = 0;
        let right = height.length - 1;
        let max = 0;
        while(left < right) {
            const area = (right - left) * Math.min(height[right], height[left]);
            if (area > max) {
                max = area
            }
            if (height[left] < height[right]) {
                const lastLeft = height[left];
                left++;
                while(height[left] <= lastLeft && left < right) {
                    left++;
                }
            } else {
                const lastRight = height[right];
                right--;
                while(lastRight >= height[right] && left < right) {
                    right--;
                }
            }
        }
        return max;
    };
  • 相关阅读:
    MongoDB 基本概念
    MongoDB 设置参数
    MongoDB 操作数据库
    MongoDB 目录分析、基础命令、参数设置
    Windows下MongoDB的下载安装、环境配置
    MongoDB 简介
    SQL与NoSQL
    es6 箭头函数(arrow function) 学习笔记
    WebPack 简明学习教程
    vue自定义指令
  • 原文地址:https://www.cnblogs.com/hermionepeng/p/13261296.html
Copyright © 2011-2022 走看看