zoukankan      html  css  js  c++  java
  • 实现一个函数, // 判断一个给定整数数组中是否存在某两个元素之和恰好等于一个给定值 k, // 存在则返回 true,否则返回 false。

    实现一个函数,判断一个给定整数数组中是否存在某两个元素之和恰好等于一个给定值 k,存在则返回 true,否则返回
    false。该函数的输入参数有两个,第一个参数为整数数组 nums,第二个参数为整数 k,返回值为布尔值。【不要使用排序!要求时间复杂度为
    O(n),n 为数组长度】

    解决思路:遍历每个元素,让指定值减去每一个元素,得到的数字再判断是否在数组中存在,存在返回true,否则返回false

    var checkTwoSum = function (nums, k) {
      if (nums.length >= 2) {
        var result = "";
        nums.forEach(item => {
          var i = k - item;
          var j = nums.indexOf(i); // 检验是否存在字符串  不存在返回 -1
          if (j == -1) {
            result = false;
          } else {
            result = true;
          }
        });
        return result;
      } else {
        console.log("数组元素至少需要两个");
      }
    }
    // 测试
    // console.log(checkTwoSum([2, 4, 5], 9));  // true
    // console.log(checkTwoSum([2, 4, 6], 9));  // false

    第二种方法,使用排序

    // 1.数组的长度必须大于等于2
      if (nums.length <= 1) {
        return false
      }
      // 2.先对数组排序
      nums.sort(function (a, b) {
        if (a > b) {
          return 1
        } else if (a < b) {
          return -1
        } else {
          return 0
        }
      })
      // 3.
      var i = 0;
      var j = nums.length - 1;
      while (i < j) {
        // console.log(nums[i] + nums[j]);
        if (nums[i] + nums[j] == k) {
          return true
        } else if (nums[i] + nums[j] < k) {
          i++;
        } else {

          j--;
        }
      }
      //4. 没有找到返回false
      return false;
    };

    // 测试
    // console.log(checkTwoSum([2, 4, 1, 8, 5, 3, 11], 2));   // false
    // console.log(checkTwoSum([2, 4, 1, 8, 5, 3, 11], 6));   // true
    原文链接:https://blog.csdn.net/a5252145/java/article/details/105070381

  • 相关阅读:
    linux 复 带进度条
    frp配置
    zookeeper_service 出错 java.lang.NoClassDefFoundError: org/I0Itec/zkclient/exception/ZkNoNodeException
    zookeeper_service 出错 ........... are only available on JDK 1.5 and higher
    推荐eclipse插件Properties Editor
    使用ab对nginx进行压力测试
    Linux搭建Snmp服务
    第一个python程序
    如何执行Python代码
    pycharm 的调试模式 MAC版
  • 原文地址:https://www.cnblogs.com/jun881821/p/13151526.html
Copyright © 2011-2022 走看看