From 962ee453f9288c0a077633159ac3c82edfe5601f Mon Sep 17 00:00:00 2001 From: Zeeshan Arif Date: Fri, 26 Apr 2024 13:05:40 +0500 Subject: [PATCH 1/2] SCALA-704 Refactored code after received comment. --- .../isomorphic/IsomorphicStringsChecker.scala | 23 ++++--------------- 1 file changed, 4 insertions(+), 19 deletions(-) diff --git a/scala-core-modules/scala-core-9/src/main/scala/com/baeldung/scala/isomorphic/IsomorphicStringsChecker.scala b/scala-core-modules/scala-core-9/src/main/scala/com/baeldung/scala/isomorphic/IsomorphicStringsChecker.scala index 35af8615d..c520e84bc 100644 --- a/scala-core-modules/scala-core-9/src/main/scala/com/baeldung/scala/isomorphic/IsomorphicStringsChecker.scala +++ b/scala-core-modules/scala-core-9/src/main/scala/com/baeldung/scala/isomorphic/IsomorphicStringsChecker.scala @@ -2,34 +2,19 @@ package com.baeldung.scala.isomorphic object IsomorphicStringsChecker: def checkIsomorphicBothWays(str1: String, str2: String): Boolean = - if (str1.length == str2.length) - checkIsomorphic(str1, str2) && checkIsomorphic(str2, str1) - else - false + (str1.length == str2.length) && checkIsomorphic(str1, str2) && checkIsomorphic(str2, str1) def checkIsomorphic2BothWays(str1: String, str2: String): Boolean = - if (str1.length == str2.length) - checkIsomorphic2(str1, str2) && checkIsomorphic2(str2, str1) - else - false + (str1.length == str2.length) && checkIsomorphic2(str1, str2) && checkIsomorphic2(str2, str1) private def checkIsomorphic(str1: String, str2: String): Boolean = val z = str1.zip(str2) - // for each distinct pair, count the number of occurrences of tup._1 char val distinctCounts = z.map(tup => { z.distinct.count(tupZ => tupZ._1 == tup._1) }) - // if all occurrence occur once only - if (distinctCounts.count(_ > 1) == 0) - true - else - false + distinctCounts.count(_ > 1) == 0 private def checkIsomorphic2(str1: String, str2: String): Boolean = val z = str1.zip(str2) val m = z.groupMap(_._1)(_._2) - // println(m) - if (m.forall(_._2.distinct.length == 1)) - true - else - false + m.forall(_._2.distinct.length == 1) From 9ae02e579bab7bac0019aa4a00bce9f3bd75483e Mon Sep 17 00:00:00 2001 From: Zeeshan Arif Date: Fri, 26 Apr 2024 17:14:58 +0500 Subject: [PATCH 2/2] SCALA-704 code formatted. --- .../scala/isomorphic/IsomorphicStringsChecker.scala | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/scala-core-modules/scala-core-9/src/main/scala/com/baeldung/scala/isomorphic/IsomorphicStringsChecker.scala b/scala-core-modules/scala-core-9/src/main/scala/com/baeldung/scala/isomorphic/IsomorphicStringsChecker.scala index c520e84bc..9cbe61ca7 100644 --- a/scala-core-modules/scala-core-9/src/main/scala/com/baeldung/scala/isomorphic/IsomorphicStringsChecker.scala +++ b/scala-core-modules/scala-core-9/src/main/scala/com/baeldung/scala/isomorphic/IsomorphicStringsChecker.scala @@ -2,10 +2,16 @@ package com.baeldung.scala.isomorphic object IsomorphicStringsChecker: def checkIsomorphicBothWays(str1: String, str2: String): Boolean = - (str1.length == str2.length) && checkIsomorphic(str1, str2) && checkIsomorphic(str2, str1) + (str1.length == str2.length) && checkIsomorphic( + str1, + str2 + ) && checkIsomorphic(str2, str1) def checkIsomorphic2BothWays(str1: String, str2: String): Boolean = - (str1.length == str2.length) && checkIsomorphic2(str1, str2) && checkIsomorphic2(str2, str1) + (str1.length == str2.length) && checkIsomorphic2( + str1, + str2 + ) && checkIsomorphic2(str2, str1) private def checkIsomorphic(str1: String, str2: String): Boolean = val z = str1.zip(str2)