Det kanske är dags att kolla på Java 8 grejer.
Uppgiften är från hackerrank att beräkna antal ändringar som behövs för att göra ett ord till ett palindrom.
Löst med IntStream
import java.util.stream.IntStream; int palindromeChanges = IntStream.range(0, word.length()/2) .map(idx -> Math.abs( (char)word.charAt(idx) - (char)word.charAt(word.length()-idx-1) )) .sum();
Och vanlig for-loop
int sum = 0; for(int idx = 0; idx < word.length()/2; idx++) { sum += Math.abs( (char)word.charAt(idx) - (char)word.charAt(word.length()-idx-1) ); }
Jag vet inte riktigt om jag tycker det är så stor skillnad än så länge… men, hade iaf tillfälle att titta på andra stream() funktioner, som reduce och filter.
Nu är det sovdags!
Leave a Reply