[알고리즘 연습 leetcode 편의 더 블 포인터 (167, 344, 345)
/*
* @lc app=leetcode id=167 lang=javascript
*
* [167] Two Sum II - Input array is sorted
*/
/**
* @param {number[]} numbers
* @param {number} target
* @return {number[]}
*
* target,right
* target,left
* O(n)
*/
var twoSum = function(numbers, target) {
let left = 0;
let right = numbers.length - 1;
while (left < right) {
const sum = numbers[left] + numbers[right];
if (sum === target) {
return [left + 1, right + 1];
}
if (sum > target) {
right--;
}
if (sum < target) {
left++;
}
}
};
console.log(twoSum([2, 7, 11, 15], 9));
[344] Reverse String
/*
* @lc app=leetcode id=344 lang=javascript
*
* [344] Reverse String
*/
/**
* @param {character[]} s
* @return {void} Do not return anything, modify s in-place instead.
*/
var reverseString = function(s) {
let left = 0;
let right = s.length - 1;
while (left < right) {
if (s[left] !== s[right]) {
[s[left], s[right]] = [s[right], s[left]];
}
left++;
right--;
}
return s;
};
console.log(reverseString(['h', 'e', 'l', 'l', '0']));
[345] Reverse Vowels of a String
/*
* @lc app=leetcode id=345 lang=javascript
*
* [345] Reverse Vowels of a String
*/
/**
* @param {string} s
* @return {string}
*/
var reverseVowels = function(s) {
let str = s.split('');
let left = 0;
let right = str.length - 1;
const vowels = ['a', 'e', 'i', 'o', 'u', 'A', 'E', 'I', 'O', 'U'];
while (left < right) {
if (vowels.indexOf(str[left]) === -1) {
left++;
}
if (vowels.indexOf(str[right]) === -1) {
right--;
}
if (vowels.indexOf(str[left]) !== -1 && vowels.indexOf(str[right]) !== -1) {
[str[left], str[right]] = [str[right], str[left]];
left++;
right--;
}
}
return str.join('');
};
console.log(reverseVowels('leetcode'));
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.