面试经典-字母异位词分组
字母异位词分组题目49. 字母异位词分组 给你一个字符串数组,请你将 字母异位词 组合在一起。可以按任意顺序返回结果列表。 字母异位词 是由重新排列源单词的所有字母得到的一个新单词。 示例 1: 12输入: strs = ["eat", "tea", "tan", "ate", "nat", "bat"]输出: [["bat"],["nat","tan"],["ate","eat","tea"]] 示例 2: 12输入: strs = [""]输出: [[""]] 示例 3: 12输入: strs = ["a"]输出: [["a"]] 提示: 1 <= strs.length <= 104 0 <= strs[i].length <...
算法模块/面试经典-多数元素
多数元素 题解题目详情 点击跳转->多数元素 给定一个大小为 n 的数组 nums ,返回其中的多数元素。多数元素是指在数组中出现次数 大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。 示例 1: 输入:nums = [3,2,3]输出:3 示例 2: 输入:nums = [2,2,1,1,1,2,2]输出:2 提示: n == nums.length 1 <= n <= 5 * 104 -109 <= nums[i] <= 109 进阶:尝试设计时间复杂度为 O(n)、空间复杂度为 O(1) 的算法解决此问题。 解题思路与题解 思考过程: 在看到题干时,我们很容易想到的是,我们维护一个Map,然后Map的泛型为 <value,count> 然后遍历数组,并将值存入map中,最后判断哪一个value的count大于数组长度的一半,于是就有了如下解法 12345678910111213141516171819public static int majorityE...
