From a8bf22e0e673ded17bafb2a53360ad421310cb60 Mon Sep 17 00:00:00 2001 From: BamaCharanChhandogi Date: Wed, 23 Aug 2023 22:55:33 +0530 Subject: [PATCH 1/2] added Find non repeat number --- .../NonRepeatingNumberFinder.java | 17 ++++++++++++++ .../NonRepeatingNumberFinderTest.java | 23 +++++++++++++++++++ 2 files changed, 40 insertions(+) create mode 100644 src/main/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinder.java create mode 100644 src/test/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinderTest.java diff --git a/src/main/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinder.java b/src/main/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinder.java new file mode 100644 index 000000000000..cd3df5aec362 --- /dev/null +++ b/src/main/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinder.java @@ -0,0 +1,17 @@ +package com.thealgorithms.bitmanipulation; + +/** + * Find Non Repeating Number + * @author Bama Charan Chhandogi (https://github.com/BamaCharanChhandogi) + */ + +public class NonRepeatingNumberFinder { + + public static int findNonRepeatingNumber(int[] arr) { + int result = 0; + for (int num : arr) { + result ^= num; + } + return result; + } +} \ No newline at end of file diff --git a/src/test/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinderTest.java b/src/test/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinderTest.java new file mode 100644 index 000000000000..3eee1e450a7f --- /dev/null +++ b/src/test/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinderTest.java @@ -0,0 +1,23 @@ +package com.thealgorithms.bitmanipulation; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +/** + * Test case for Non Repeating Number Finder + * @author Bama Charan Chhandogi (https://github.com/BamaCharanChhandogi) + */ + +class NonRepeatingNumberFinderTest { + + @Test + void testNonRepeatingNumberFinder() { + int arr[]={1,2,1,2,6}; + assertEquals(6, NonRepeatingNumberFinder.findNonRepeatingNumber(arr)); + int arr1[]={1,2,1,2}; + assertEquals(0, NonRepeatingNumberFinder.findNonRepeatingNumber(arr1)); + int arr2[]={12}; + assertEquals(12, NonRepeatingNumberFinder.findNonRepeatingNumber(arr2)); + } +} \ No newline at end of file From d5cf94c0982613e5816175d8d0616d5ca5b085b0 Mon Sep 17 00:00:00 2001 From: BamaCharanChhandogi Date: Wed, 23 Aug 2023 22:58:57 +0530 Subject: [PATCH 2/2] clang problem solved --- .../bitmanipulation/NonRepeatingNumberFinderTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/test/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinderTest.java b/src/test/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinderTest.java index 3eee1e450a7f..330b57dcd6eb 100644 --- a/src/test/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinderTest.java +++ b/src/test/java/com/thealgorithms/bitmanipulation/NonRepeatingNumberFinderTest.java @@ -13,11 +13,11 @@ class NonRepeatingNumberFinderTest { @Test void testNonRepeatingNumberFinder() { - int arr[]={1,2,1,2,6}; + int arr[] = {1, 2, 1, 2, 6}; assertEquals(6, NonRepeatingNumberFinder.findNonRepeatingNumber(arr)); - int arr1[]={1,2,1,2}; + int arr1[] = {1, 2, 1, 2}; assertEquals(0, NonRepeatingNumberFinder.findNonRepeatingNumber(arr1)); - int arr2[]={12}; + int arr2[] = {12}; assertEquals(12, NonRepeatingNumberFinder.findNonRepeatingNumber(arr2)); } } \ No newline at end of file