Cara mencari mod dalam JavaScript: 1. Buat tatasusunan baharu 2. Kira bilangan kali setiap nilai muncul 3. Lintas tatasusunan dan cari mod.
Persekitaran pengendalian artikel ini: sistem Windows 7, versi javascript 1.8.5, komputer DELL G3
Cara mencari mod dalam javascript?
LeetCode mencari mod - pelaksanaan JavaScript
Memandangkan tatasusunan saiz n, cari mod. Mod merujuk kepada elemen yang muncul lebih daripada ⌊ n/2 ⌋ dalam tatasusunan.
Anda boleh menganggap bahawa tatasusunan itu tidak kosong dan sentiasa ada mod untuk tatasusunan yang diberikan.
Contoh 1:
Input: [3,2,3]
Output: 3
Contoh 2:
Input: [2,2,1,1,1,2,2]
Output: 2
Fikiran Saya:
Baharu tatasusunan, kira bilangan kejadian setiap nilai, dan kemudian lintasi tatasusunan untuk mencari mod.
const majorityElement = function (nums) { let arry = [] for (let i in nums) { if (!arry[nums[i]]) { arry[nums[i]] = !!arry[nums[i]] + 1 }else { arry[nums[i]] ++ } } for(let i in arry){ if(arry[i] > nums.length/2){ return i } } };
Penyelesaian terpantas untuk leetcode:
Idea penyelesaian:
Gunakan pembilang dan nilai perantaraan, biarkan yang tengah Nilai adalah sama dengan bit pertama tatasusunan Semasa traversal, jika pembilang adalah sama, pembilang akan ditambah dengan satu, dan jika ia berbeza, pembilang akan dikurangkan dengan satu , ia akan digantikan dengan nilai yang sedang dilalui Selepas traversal selesai, nilai perantaraan akan dikembalikan. [Kajian yang disyorkan: "Tutorial Asas JS"]
Rasanya indah, ada idea mengimbangi di dalamnya
var majorityElement = function(nums) { let count = 0; let majority = nums[0]; for (let i = 0; i < nums.length; i++) { if (count === 0) { majority = nums[i]; } if (majority === nums[i]) { count++; } else { count--; } } return majority; };
Atas ialah kandungan terperinci Bagaimana untuk mencari mod dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!