diff --git a/.gitignore b/.gitignore
index 2a59ede..40ca5f4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -141,3 +141,7 @@ Alogrithm/TestResults/782f01b2-9860-4fcb-a2b1-8792206abbd6/林_MI-1 2021-01-19 1
Alogrithm/Alogrithm/Debug/13_MyAtoi.obj
Alogrithm/TestResults/dfc574b2-675e-41d0-bedb-4a260e23f2d6/林_MI-1 2021-01-19 18_06_47.coverage
Alogrithm/TestResults/e0c4d06b-b5b3-4e26-97b5-dcbc2f1cb01b/林_MI-1 2021-01-19 13_46_44.coverage
+Alogrithm/.vs/Alogrithm/v16/TestStore/0/001.testlog
+Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/a7b5d7e611141d42/14_SINGLENUMBER.INI.ipch
+Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/b3ea30d1998dc01e/14_SINGLENUMBER.ipch
+Alogrithm/Alogrithm/Debug/14_SingleNumber.obj
diff --git a/Alogrithm/.vs/Alogrithm/v16/.suo b/Alogrithm/.vs/Alogrithm/v16/.suo
index beed4a1..6177be5 100644
Binary files a/Alogrithm/.vs/Alogrithm/v16/.suo and b/Alogrithm/.vs/Alogrithm/v16/.suo differ
diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj b/Alogrithm/Alogrithm/Alogrithm.vcxproj
index 11cc8c9..6504277 100644
--- a/Alogrithm/Alogrithm/Alogrithm.vcxproj
+++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj
@@ -88,6 +88,7 @@
false
WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)
false
+ $(IntDir)%(RelativeDir)
Console
@@ -144,6 +145,7 @@
+
@@ -160,6 +162,7 @@
+
@@ -175,6 +178,7 @@
+
diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters
index e3bc106..c4cc541 100644
--- a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters
+++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters
@@ -66,6 +66,9 @@
源文件\src
+
+ 源文件\src
+
@@ -107,6 +110,9 @@
头文件\include
+
+ 头文件\include
+
@@ -148,5 +154,8 @@
资源文件\config
+
+ 资源文件\config
+
\ No newline at end of file
diff --git a/Alogrithm/Alogrithm/config/14_SingleNumber.ini b/Alogrithm/Alogrithm/config/14_SingleNumber.ini
new file mode 100644
index 0000000..e373e77
--- /dev/null
+++ b/Alogrithm/Alogrithm/config/14_SingleNumber.ini
@@ -0,0 +1,18 @@
+[Test1]
+input=2,2,1
+output=1
+[Test2]
+input=1,1,2,5,6,2,6
+output=5
+[Test3]
+input=13,2147483647,19,0,13,0,19
+output=2147483647
+[Test4]
+input=2147483647,-2147483648,4,1,2147483647,1,4
+output=-2147483648
+[Test5]
+input=11,21,0,9,4,4,9,21,11
+output=0
+[Test6]
+input=-1,-2,-3,-4,-4,-3,-2,-1,0
+output=0
\ No newline at end of file
diff --git a/Alogrithm/Alogrithm/include/14_SingleNumber.h b/Alogrithm/Alogrithm/include/14_SingleNumber.h
new file mode 100644
index 0000000..762ecc3
--- /dev/null
+++ b/Alogrithm/Alogrithm/include/14_SingleNumber.h
@@ -0,0 +1,3 @@
+#pragma once
+
+int SingleNumber(int* nums, int numsSize);
\ No newline at end of file
diff --git a/Alogrithm/Alogrithm/src/14_SingleNumber.cpp b/Alogrithm/Alogrithm/src/14_SingleNumber.cpp
new file mode 100644
index 0000000..4f58fbb
--- /dev/null
+++ b/Alogrithm/Alogrithm/src/14_SingleNumber.cpp
@@ -0,0 +1,14 @@
+#include "../include/14_SingleNumber.h"
+
+
+//˼·ʹʣ
+// 1.0κκ
+// 2.κԼԼ0
+// 3.Ͻɺͽ
+int SingleNumber(int* nums, int numsSize)
+{
+ for (int i = 1; i < numsSize; i++) {// i1ʼnums[0]nums[1]nums[0]
+ nums[0] = nums[0] ^ nums[i];//nums[0]κͺ,nums[0]У
+ }
+ return nums[0];//Ժֵǵڵ
+}
\ No newline at end of file
diff --git a/Alogrithm/Alogrithm/src/main.cpp b/Alogrithm/Alogrithm/src/main.cpp
index 82f9ada..6c0e666 100644
--- a/Alogrithm/Alogrithm/src/main.cpp
+++ b/Alogrithm/Alogrithm/src/main.cpp
@@ -1,9 +1,9 @@
#include
#include "../include/13_MyAtoi.h"
+#include "../include/14_SingleNumber.h"
int main()
{
- char s[] = "2147483648";
- printf("%d\n", MyAtoi(s));
- //printf("%d\n", 2147483647+ 2147483649);
+ int arr[] = { -1,-2,-3,-4,-4,-3,-2,-1,0 };
+ printf("%d\n", SingleNumber(arr, sizeof(arr)/sizeof(int)));
return 0;
}
diff --git a/Alogrithm/UnitTest/UnitTest.cpp b/Alogrithm/UnitTest/UnitTest.cpp
index 34b3868..5c299b5 100644
--- a/Alogrithm/UnitTest/UnitTest.cpp
+++ b/Alogrithm/UnitTest/UnitTest.cpp
@@ -15,6 +15,8 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#define FileName_11 "../Alogrithm/config/11_CanWinNim.ini"
#define FileName_12 "../Alogrithm/config/12_IsValid.ini"
#define FileName_13 "../Alogrithm/config/13_MyAtoi.ini"
+#define FileName_14 "../Alogrithm/config/14_SingleNumber.ini"
+
namespace UnitTest
{
@@ -253,4 +255,22 @@ namespace UnitTest
}
}
};
+ TEST_CLASS(UnitTest_14)
+ {
+ TEST_METHOD(TestMethode1)
+ {
+ char Section_Name[100][10] = { 0 };
+ int Section_Count = CalcCount(100, Section_Name, FileName_14);
+ int array_count = 0;
+ int* Section_Value;
+ CString input,output;
+ for (int i = 0; i < Section_Count; i++) {
+ GetPrivateProfileString(Section_Name[i], "input", " ", input.GetBuffer(200), 200, FileName_14);
+ GetPrivateProfileString(Section_Name[i], "output", " ", output.GetBuffer(20), 20, FileName_14);
+ Section_Value = str_device(input, &array_count);
+ int nReal = SingleNumber(Section_Value, array_count);
+ Assert::AreEqual(nReal, _ttoi(output));
+ }
+ }
+ };
}
diff --git a/Alogrithm/UnitTest/UnitTest.vcxproj b/Alogrithm/UnitTest/UnitTest.vcxproj
index ddb070c..c7c09e1 100644
--- a/Alogrithm/UnitTest/UnitTest.vcxproj
+++ b/Alogrithm/UnitTest/UnitTest.vcxproj
@@ -103,7 +103,7 @@
Windows
$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)
DebugFull
- ../Alogrithm/Debug/1_ContainsNearbyDuplicate.obj;../Alogrithm/Debug/2_ExcelSheetColumnTitle.obj;../Alogrithm/Debug/3_bool IsUgly.obj;../Alogrithm/Debug/4_IsPalindrome.obj;../Alogrithm/Debug/5_MinDepth.obj;../Alogrithm/Debug/6_ContainsDuplicate.obj;../Alogrithm/Debug/7_MaxDepth.obj;../Alogrithm/Debug/8_HammingWeight.obj;../Alogrithm/Debug/9_AddBinary.obj;../Alogrithm/Debug/10_BinaryTreePaths.obj;../Alogrithm/Debug/11_CanWinNim.obj;../Alogrithm/Debug/12_IsValid.obj;../Alogrithm/Debug/13_MyAtoi.obj;%(AdditionalDependencies)
+ ../Alogrithm/Debug/1_ContainsNearbyDuplicate.obj;../Alogrithm/Debug/2_ExcelSheetColumnTitle.obj;../Alogrithm/Debug/3_bool IsUgly.obj;../Alogrithm/Debug/4_IsPalindrome.obj;../Alogrithm/Debug/5_MinDepth.obj;../Alogrithm/Debug/6_ContainsDuplicate.obj;../Alogrithm/Debug/7_MaxDepth.obj;../Alogrithm/Debug/8_HammingWeight.obj;../Alogrithm/Debug/9_AddBinary.obj;../Alogrithm/Debug/10_BinaryTreePaths.obj;../Alogrithm/Debug/11_CanWinNim.obj;../Alogrithm/Debug/12_IsValid.obj;../Alogrithm/Debug/13_MyAtoi.obj;../Alogrithm/Debug/14_SingleNumber.obj;%(AdditionalDependencies)
diff --git a/Alogrithm/UnitTest/pch.h b/Alogrithm/UnitTest/pch.h
index 3731bbb..9c4a61e 100644
--- a/Alogrithm/UnitTest/pch.h
+++ b/Alogrithm/UnitTest/pch.h
@@ -26,6 +26,7 @@
#include"../Alogrithm/include/11_CanWinNim.h"
#include"../Alogrithm/include/12_IsValid.h"
#include"../Alogrithm/include/13_MyAtoi.h"
+#include"../Alogrithm/include/14_SingleNumber.h"
int CalcCount(int n, char(*str)[10],const char *FileName);