diff --git "a/problems/0058_Length_of_Last_Word/26\351\200\235\346\260\264\346\265\201.js" "b/problems/0058_Length_of_Last_Word/26\351\200\235\346\260\264\346\265\201.js" new file mode 100644 index 00000000..60e5e920 --- /dev/null +++ "b/problems/0058_Length_of_Last_Word/26\351\200\235\346\260\264\346\265\201.js" @@ -0,0 +1,25 @@ +/** + * @param {string} s + * @return {number} + */ +// 战胜85.26% +var lengthOfLastWord = function(s) { + if (!s || s.length === 0) { + return 0 + } + let result = 0 + let total = s.length + while (total) { + if (s[total - 1] != ' ') { + result ++ + } else if (result !== 0) { + break + } + total -- + } + return result +} + +console.log(lengthOfLastWord('Hello World')) +console.log(lengthOfLastWord(' ')) +console.log(lengthOfLastWord('Hello World ')) diff --git "a/problems/0066_Plus_One/26\351\200\235\346\260\264\346\265\201.js" "b/problems/0066_Plus_One/26\351\200\235\346\260\264\346\265\201.js" new file mode 100644 index 00000000..f989627f --- /dev/null +++ "b/problems/0066_Plus_One/26\351\200\235\346\260\264\346\265\201.js" @@ -0,0 +1,33 @@ +/** + * @param {number[]} digits + * @return {number[]} + */ +// 战胜34.22% +var plusOne = function(digits) { + if (!digits || digits.length === 0) { + return [1] + } + let total = digits.length + let flag = 0 + let midRst = digits[total - 1] + 1 + while (total > 0) { + midRst = midRst + flag + digits[total - 1] = midRst % 10 + flag = 1 + total -- + if (midRst < 10) { + flag = 0 + break + } + midRst = digits[total - 1] + } + if (flag) { + digits.unshift(1) + } + return digits +}; + +console.log(plusOne([1, 2, 3])) +console.log(plusOne([4, 3, 2, 1])) +console.log(plusOne([1, 5, 9, 9])) +console.log(plusOne([9, 9, 9, 9, 9])) diff --git "a/problems/0169_Majority_Element/26\351\200\235\346\260\264\346\265\201.js" "b/problems/0169_Majority_Element/26\351\200\235\346\260\264\346\265\201.js" new file mode 100644 index 00000000..4c5e3bab --- /dev/null +++ "b/problems/0169_Majority_Element/26\351\200\235\346\260\264\346\265\201.js" @@ -0,0 +1,24 @@ +/** + * @param {number[]} nums + * @return {number} + */ +var majorityElement = function(nums) { + let mergeNums = {} + nums.forEach(num => { + if (!mergeNums[num]) { + mergeNums[num] = 1 + } else { + mergeNums[num] += 1 + } + }) + let result = nums[0] + for(let key in mergeNums) { + if (mergeNums[result] < mergeNums[key]) { + result = key + } + } + return result +} + +console.log(majorityElement([3, 2, 3])) +console.log(majorityElement([2,2,1,1,1,2,2]))