[LeetCode] 문자열에서 IP 주소를 복원하는 string의 IP 복원
                                            
 1951 단어  LeetCode
                    
"25525511135" , return  ["255.255.11.135", "255.255.111.35"] . (Order does not matter) 사고방식: 돌아가는 방법으로.IP 주소는 점분 10진법으로 모두 4개의part가 있는데 각각part는 0보다 크고 255보다 작다.귀속할 때 partnumber를 전달하고 partnumber가 4일 때 IP 주소 복구가 완료됨을 설명합니다.또한 각 파트의 범위는 [0, 255] 안에 있어야 하며, 0으로 시작하는 파트가 나타나지 않도록 주의해야 한다. 예를 들어010은 재미없어요.
010
.1”.
코드는 다음과 같습니다.
       vector<string> restoreIpAddresses(string s) {  
       // main function
            vector<string> col;   
            string ip;   
            partitionIP(s, 0, 0, ip, col);   
            return col;   
       }  
       
       void partitionIP(string s, int startIndex, int partNum,    
       string resultIp, vector<string>& col)   
       {// utility function
            //max 3 bits per partition   
            if(s.size() - startIndex > (4-partNum)*3) return;   
            //min 1 bit per partition   
            if(s.size() - startIndex < (4-partNum)) return;  
            if(startIndex == s.size() && partNum ==4)   
            {   
                resultIp.resize(resultIp.size()-1);   
                 col.push_back(resultIp);   
                 return;   
            }   
            int num =0;   
            for(int i = startIndex; i< startIndex +3; i++)   
            {   
                 num = num*10 + (s[i]-'0');   
                 if(num<=255)   
                 {   
                      resultIp+=s[i];   
                      partitionIP(s, i+1, partNum+1, resultIp+'.', col);       
                 }    
                 if(num ==0)//0.0.0.0 valid, but need to avoid 0.1.010.01   
                 {   
                      break;   
                 }   
            }   
       }   이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
python 문자열 입력으로 모든 유효한 IP 주소 생성(LeetCode 93번 문제)이 문제의 공식 난이도는 Medium으로 좋아요 1296, 반대 505, 통과율 35.4%를 눌렀다.각 항목의 지표로 말하자면 보기에는 약간 규범에 맞는 것 같지만, 실제로도 확실히 그렇다.이 문제의 해법과 의도는 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.