diff --git a/1150.check-if-a-number-is-majority-element-in-a-sorted-array.js b/1150.check-if-a-number-is-majority-element-in-a-sorted-array.js new file mode 100644 index 00000000..b6fa333f --- /dev/null +++ b/1150.check-if-a-number-is-majority-element-in-a-sorted-array.js @@ -0,0 +1,16 @@ +/* URL of this problem + * https://leetcode.com/problems/check-if-a-number-is-majority-element-in-a-sorted-array/description/ + * + * @param {number[]} nums + * @param {number} target + * @return {boolean} + */ + +var isMajorityElement = function(nums, target) { + const Targets = nums.filter(num => num === target); + + // True if target appears more than a half of the length of nums or false if not + return nums.length / 2 < Targets.length; +}; + +module.exports = isMajorityElement; \ No newline at end of file diff --git a/isMajorityElement.test.js b/isMajorityElement.test.js new file mode 100644 index 00000000..dd389384 --- /dev/null +++ b/isMajorityElement.test.js @@ -0,0 +1,13 @@ +const isMajorityElement = require("./1150.check-if-a-number-is-majority-element-in-a-sorted-array"); + +test("Return true if target is a major element in nums", () => { + expect(isMajorityElement([2,4,5,5,5,5,5,6,6], 5)).toBeTruthy(); +}); + +test("Return false if target is not a major element inn nums", () => { + expect(isMajorityElement([10,100,101,101], 101)).toBeFalsy(); +}); + +test("Return false if nums is an empty array", () => { + expect(isMajorityElement([], 5)).toBeFalsy(); +}); \ No newline at end of file