화 웨 이 전단 면접 문제

3632 단어
1. 논리 문제
한 연못 에 무한 한 사람 이 있 는데, 5 리터 의 통 과 6 리터 의 통 으로 어떻게 3 리터 의 물 을 채취 합 니까?
답: 5 리터 통 을 가득 채 워 6 리터 통 에 붓 고, 5 리터 통 을 채 워 6 리터 통 을 채 우 면 5 리터 통 에 4 리터 의 물이 남는다.
6 ℓ 짜 리 물 을 버 리 고 5 ℓ 짜 리 4 ℓ 를 6 ℓ 짜 리 에 붓 고, 5 ℓ 짜 리 물 을 채 워 6 ℓ 를 채 우 면 5 ℓ 짜 리 물 만 3 ℓ 남는다.
2. 프로 그래 밍 문제
문자열 에 가장 많이 나타 난 문 자 는 무엇 입 니까? 몇 번 이나 나 타 났 습 니까?
방법 1: 첫 번 째 문자 부터 정규 표현 식 을 사용 하여 첫 번 째 문자 와 같은 모든 것 을 빈 문자열 로 바 꿉 니 다. 그러면 문자열 length 가 작 아 지고 두 번 의 차 이 를 비교 하 는 것 은 나타 난 횟수 입 니 다. 문자열 이 비어 있 을 때 까지 상기 절 차 를 반복 합 니 다.
function foo(str){
    var result="";
    var maxLength=0;
    var getStr="";
    while(str !== ''){
        oldStr=str;
        getStr=str.charAt(0);
        str=str.replace(new RegExp(getStr,"g"),"");
        if(oldStr.length-str.length>maxLength){
            maxLength=oldStr.length-str.length;
            result=getStr+"="+maxLength;
        }
    }
    return result;
}
foo("aaasdf");

방법 2: 대상 의 방법 으로 키 를 문자 로 하고 value 를 개수 로 한 다음 대상 을 옮 겨 다 니 기
function objMethod(str){
    var obj={};
    for(var i=0; i){
        var char=str.charAt(i);
        if(obj[char]){
            obj[char]++;
        }else{
            obj[char]=1;
        }
    }
    console.log(obj);
    var max=0;
    for(var key in obj){
        if(max<obj[key]){
            max=obj[key];
        }
    }
    for(var key in obj){
        if(max==obj[key]){
            console.log(key+":"+max);
        }
    }
}
objMethod("asddddasaassf");

 
다음으로 전송:https://www.cnblogs.com/zhengmiaohua/p/7118926.html

좋은 웹페이지 즐겨찾기