mirror of
https://github.com/prdlk/leetcode.git
synced 2026-09-16 23:16:26 +00:00
feat(work): add solutions for LeetCode problems 217, 242, 189, and 49
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
/*
|
||||
* 189. Rotate Array
|
||||
* Difficulty: Medium
|
||||
* https://leetcode.com/problems/rotate-array/
|
||||
*
|
||||
* ──────────────────────────────────────────────────
|
||||
*
|
||||
* Given an integer array nums, rotate the array to the right by k
|
||||
* steps, where k is non-negative.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Example 1:
|
||||
*
|
||||
* Input: nums = [1,2,3,4,5,6,7], k = 3
|
||||
* Output: [5,6,7,1,2,3,4]
|
||||
* Explanation:
|
||||
* rotate 1 steps to the right: [7,1,2,3,4,5,6]
|
||||
* rotate 2 steps to the right: [6,7,1,2,3,4,5]
|
||||
* rotate 3 steps to the right: [5,6,7,1,2,3,4]
|
||||
*
|
||||
* Example 2:
|
||||
*
|
||||
* Input: nums = [-1,-100,3,99], k = 2
|
||||
* Output: [3,99,-1,-100]
|
||||
* Explanation:
|
||||
* rotate 1 steps to the right: [99,-1,-100,3]
|
||||
* rotate 2 steps to the right: [3,99,-1,-100]
|
||||
*
|
||||
*
|
||||
*
|
||||
* Constraints:
|
||||
*
|
||||
* • 1 <= nums.length <= 10^5
|
||||
*
|
||||
* • -2^31 <= nums[i] <= 2^31 - 1
|
||||
*
|
||||
* • 0 <= k <= 10^5
|
||||
*
|
||||
*
|
||||
*
|
||||
* Follow up:
|
||||
*
|
||||
* • Try to come up with as many solutions as you can. There are at
|
||||
* least three different ways to solve this problem.
|
||||
*
|
||||
* • Could you do it in-place with O(1) extra space?
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {number[]} nums
|
||||
* @param {number} k
|
||||
* @return {void} Do not return anything, modify nums in-place instead.
|
||||
*/
|
||||
var rotate = function(nums, k) {
|
||||
|
||||
};
|
||||
@@ -0,0 +1,69 @@
|
||||
/*
|
||||
* 49. Group Anagrams
|
||||
* Difficulty: Medium
|
||||
* https://leetcode.com/problems/group-anagrams/
|
||||
*
|
||||
* ──────────────────────────────────────────────────
|
||||
*
|
||||
* Given an array of strings strs, group the anagrams together. You can
|
||||
* return the answer in any order.
|
||||
*
|
||||
*
|
||||
*
|
||||
* Example 1:
|
||||
*
|
||||
* Input: strs = ["eat","tea","tan","ate","nat","bat"]
|
||||
*
|
||||
* Output: [["bat"],["nat","tan"],["ate","eat","tea"]]
|
||||
*
|
||||
* Explanation:
|
||||
*
|
||||
* • There is no string in strs that can be rearranged to form "bat".
|
||||
*
|
||||
* • The strings "nat" and "tan" are anagrams as they can be rearranged
|
||||
* to form each other.
|
||||
*
|
||||
* • The strings "ate", "eat", and "tea" are anagrams as they can be
|
||||
* rearranged to form each other.
|
||||
*
|
||||
* Example 2:
|
||||
*
|
||||
* Input: strs = [""]
|
||||
*
|
||||
* Output: [[""]]
|
||||
*
|
||||
* Example 3:
|
||||
*
|
||||
* Input: strs = ["a"]
|
||||
*
|
||||
* Output: [["a"]]
|
||||
*
|
||||
*
|
||||
*
|
||||
* Constraints:
|
||||
*
|
||||
* • 1 <= strs.length <= 10^4
|
||||
*
|
||||
* • 0 <= strs[i].length <= 100
|
||||
*
|
||||
* • strs[i] consists of lowercase English letters.
|
||||
*/
|
||||
|
||||
/**
|
||||
* @param {string[]} strs
|
||||
* @return {string[][]}
|
||||
*/
|
||||
var groupAnagrams = function(strs) {
|
||||
let sorted = strs.map(str => str.split("").sort().join(""));
|
||||
let anagrams = {};
|
||||
|
||||
for (let i = 0; i < strs.length; i++){
|
||||
if(!anagrams[sorted[i]]){
|
||||
anagrams[sorted[i]] = [strs[i]]
|
||||
}else{
|
||||
anagrams[sorted[i]].push(strs[i])
|
||||
}
|
||||
}
|
||||
|
||||
return Object.values(anagrams);
|
||||
};
|
||||
Reference in New Issue
Block a user