루비에서 데이터 구조를 원한다면 문자열을 한 번만 저장하고 다음에 그것을 넣으려고 할 때 거부합니다 ('SET'과 같은 것). 구현이 가장 효율적이어야합니다 (예 : 배열의 선형 검색보다 좋음).고유 한 요소 만 저장하는 루비의 데이터 구조?
또한 목적을 위해 해시를 사용했지만 해시에 들어가는 동일한 값 (이 문자열을 일부 기존 문자열에서 가져 오는 문자열)이 여러 개인 문자열은 다른 해시 값처럼 계산됩니다.
가장 효율적이고 효율적인 방법은 무엇일까요? 나는 루비 보석을 사용하고 싶지 않다. 나는 내 자신의 코드 만 제출할 수있는 온라인 판사의 퍼즐 솔루션을 연구 중이다. 여기
내가 쓴 코드입니다 : 그것은해야하므로for string in @string_store do
for c in 0...string.length
index_to_sum=0
while c+index_to_sum<string.length do
substring=string[c..(c+index_to_sum)]
unless @hash_store[substring]=='X'
@hash_store[substring]='X'
end
index_to_sum+=1
end
end
end
사랑하는 Deathnote 사진, btw :) –
Ahh thanks. Raito : –
당신은 _ "에 대한 확신이 있습니까? 그러나 동일한 값을 가진 다중 문자열 (일부 기존 문자열에서 슬라이스 작업으로 얻는 문자열)이 해시에 들어갑니다"_? http://ideone.com/eIsMX –