近来刷LeetCode上面的题。由于是纯菜鸟,很多特简单的题都不太会,而且很多题自己设计的算法,复杂度太高,希望能借助一下这个平台,能够学到大神们更好的算法(C#实现)。
这一题是首先将数组排序,然后找到大于n/2数量的元素即可。
代码如下:
public class Solution {
public int MajorityElement(int[] nums) {
int n = 0;
int min = nums.Length / 2;
Array.Sort(nums);
int currentnum = nums[0];
for (int i = 0; i < nums.Length ; i++)
{
if (nums[i] == currentnum)
{
n++;
if (n > min)
{
break;
}
}
else
{
n = 1;
currentnum = nums[i];
}
}
return currentnum;
}
}
本文分享了一道LeetCode上的经典题目——寻找数组中的多数元素的解决方案。通过排序数组并遍历查找出现次数超过一半的元素,实现了简单有效的C#代码实现。
&spm=1001.2101.3001.5002&articleId=80118955&d=1&t=3&u=f1f1b7f76dbf4ef6aad6e8dc2e7fd83e)
1369

被折叠的 条评论
为什么被折叠?



