当前位置: 首页 > news >正文

1.力扣热题100

文章目录

  • 一、两数之和
  • 二、字母异位词分组
  • 三、最长连续序列

一、两数之和

public int[] twoSum(int[] nums, int target) {
        HashMap<Integer, Integer> numIndexMap = new HashMap();
        int[] result = new int[2];
        for(int i = 0;i < nums.length;i ++){
            if(numIndexMap.containsKey(target - nums[i])){
                result[0] = i;
                result[1] = numIndexMap.get(target - nums[i]);
            }
            numIndexMap.put(nums[i], i);
        }
        return result;
}

用空间换时间,使时间复杂度降到 O(N)

二、字母异位词分组

public List<List<String>> groupAnagrams(String[] strs) {
         Map<String, List<String>> strListMap = new HashMap<>();
         for (String str : strs){
             char[] charArray = str.toCharArray();
             Arrays.sort(charArray);
             String key = new String(charArray);
             List<String> curList = strListMap.getOrDefault(key, new ArrayList<>());
             curList.add(str);
             strListMap.put(key, curList);
         }
         return new ArrayList<>(strListMap.values());
    }
}

将字符串转为字符数组,利用Arrays.sort()实现字符串排序

三、最长连续序列

相关文章:

  • 【ARM 开发】理解 BootROM:从底层启动到安全部署的指南
  • iOS 上自定义编译 FFmpeg
  • 【c++】c++内存管理
  • LeetCode 1287.有序数组中出现次数超过25%的元素:遍历
  • 20250214 随笔 Nginx 负载均衡在数据库中的应用
  • 车辆路径问题(VRP)分支定价算法中的分支策略
  • 【C++ 算法竞赛函数速查表】
  • Leetcode 3458. Select K Disjoint Special Substrings
  • 算法学习036 C++最长上升子序列LIS 动态规划DP算法实现最长上升子序列 中小学算法思维学习 比赛算法题解 信奥算法解析
  • Wireshark 输出 数据包列表本身的值
  • SpringBoot中集成SaToken
  • vue3开发打年兽功能
  • 【论文笔记】On Generative Agents in Recommendation
  • DeepSeek 本地部署方法介绍
  • 鸡兔同笼问题
  • 20.【线性代数】——坐标系中,平行四边形面积=矩阵的行列式
  • ES快照备份索引数据(已亲测)
  • 数据恢复-01-机械硬盘的物理与逻辑结构
  • 【C语言】第二期——运算符与表达式
  • PMBOK第7版整体架构全面详解
  • 精品消费“精”在哪?多在体验上下功夫
  • 中国物流集团等10家央企11名领导人员职务任免
  • 上海高院与上海妇联签协议,建立反家暴常态化联动协作机制
  • 商务部回应稀土出口管制问题
  • 牛市早报|4月新增社融1.16万亿,降准今日正式落地
  • 上海市国防动员办公室副主任吴斌接受审查调查