169.ts 632 B

1234567891011121314151617181920212223242526272829
  1. // 169. Majority Element
  2. function majorityElement(nums: number[]): number {
  3. var ns: number = nums.length;
  4. var ns_half: number = ns / 2;
  5. nums.sort((a, b) => a - b);
  6. var count: number = 0;
  7. var ln: number = nums[0];
  8. for ( var i = 0; i < ns; ++i ) {
  9. if ( ln != nums[i] ) { count = 0; }
  10. ln = nums[i];
  11. ++count;
  12. if ( count > ns_half ) { return ln; }
  13. }
  14. return -1;
  15. };
  16. function main() {
  17. function r(n: number[], exp: number) {
  18. console.log(`majorityElement(${n}) = ${majorityElement(n)} | exp: ${exp}`)
  19. }
  20. r([3,2,3], 3)
  21. r([2,2,1,1,1,2,2], 2)
  22. }
  23. main()