zoukankan      html  css  js  c++  java
  • 两数之和LeetCode

    /** * 无脑暴力: * 时间复杂度 : n^2 * 空间复杂度 : 1 * 70ms * 38.5MB */ public static int[] traverseTwoSum(int[] nums, int target){ int len = nums.length; for (int i = 0; i < len; i++) { for (int j = i+1; j < len; j++) { if(nums[i]+nums[j]==target){ return new int[]{i,j}; } } } return null; } /** * 因为哈希表的查找速度非常的快,我们可以采用hash表去解决问题. * 时间: n * 空间: n * 4ms * 36.2MB * */ public static int[] secondHashTwoSum(int[] nums, int target){ Map<Integer, Integer> map = new HashMap<>(); int len = nums.length; for (int i = 0; i < len; i++) { // 根据键去找 值 map.put(nums[i],i); } int findNum; for (int i = 0; i < len; i++) { findNum = target - nums[i]; if(map.containsKey(findNum)&&map.get(findNum)!=i){ return new int[]{i,map.get(findNum)}; } } return null; } /** * 改进为一次hash * 时间: n * 空间: n * 4ms * 36.2MB * */ public static int[] firstHashTwoSum(int[] nums, int target){ Map<Integer, Integer> map = new HashMap<>(); int len = nums.length,findNum; for (int i = 0; i < len; i++) { findNum = target-nums[i]; if(map.containsKey(findNum)){ return new int[] {map.get(findNum),i}; } map.put(nums[i],i); } return null; }
  • 相关阅读:
    前端知识点(1)
    js防抖和节流
    react生命周期方法有哪些?
    vue音乐播放器
    vue天气查询
    vue+axios安装
    vue 实现todolist,包含添加,删除,统计,清空,隐藏功能
    vue简单计数器
    手动搭建的react环境中,关于图片引入的问题
    promise封装ajax
  • 原文地址:https://www.cnblogs.com/A-FM/p/11057263.html
Copyright © 2011-2022 走看看