LeetCode169. Majority Element C 언어
Given an array of size n, find the majority element. The majority element is the element that appears more than n/2 times.
You may assume that the array is non-empty and the majority element always exist in the array.
제목: 그룹 중 절반이 넘는 수를 찾습니다.이 문제는 Majority Element이 반드시 존재한다고 가정합니다.안 그러면 존재하지 않는다고 판단해야 돼. 어떡해?
int majorityElement(int* nums, int numsSize) {
//
// int size=0;
// if(numsSize%2==0){
// size=numsSize/2;
// }else{
// size=(numsSize-1)/2;
// }
// int i,j;
// int count=0;
// int flag=0;
// for(i=0;isize){
// flag=i;
// break;
// }
// }else{
// break;
// }
// }
// return nums[i];
// Moore‘S voting Algorithem
// http://www.cs.utexas.edu/~moore/best-ideas/mjrty/example.html
//
int candidate;
int count=0;
for(int i=0;i
PS:원래 멍청해서 두 겹으로 순환해서 만들었어요.시간의 복잡도는 관문을 통과하지 못한다.
그리고 인터넷에서 찾아보니 Moore's voting Algorithem 알고리즘이 발견됐어요. 이런 문제를 전문적으로 해결하는 알고리즘도 있고 알고리즘 설명도 있어요.http://www.cs.utexas.edu/~moore/best-ideas/mjrty/example.html
복!
전재 대상:https://blog.51cto.com/fulin0532/1867859
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.