From 7e245da06a9e02b71b2e5f2d108d13a200cec324 Mon Sep 17 00:00:00 2001 From: linyongji Date: Wed, 20 Jan 2021 09:14:14 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=94=AF14=E5=AE=8C=E6=88=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 4 ++++ Alogrithm/.vs/Alogrithm/v16/.suo | Bin 114176 -> 92160 bytes Alogrithm/Alogrithm/Alogrithm.vcxproj | 4 ++++ Alogrithm/Alogrithm/Alogrithm.vcxproj.filters | 9 ++++++++ .../Alogrithm/config/14_SingleNumber.ini | 18 ++++++++++++++++ Alogrithm/Alogrithm/include/14_SingleNumber.h | 3 +++ Alogrithm/Alogrithm/src/14_SingleNumber.cpp | 14 ++++++++++++ Alogrithm/Alogrithm/src/main.cpp | 6 +++--- Alogrithm/UnitTest/UnitTest.cpp | 20 ++++++++++++++++++ Alogrithm/UnitTest/UnitTest.vcxproj | 2 +- Alogrithm/UnitTest/pch.h | 1 + 11 files changed, 77 insertions(+), 4 deletions(-) create mode 100644 Alogrithm/Alogrithm/config/14_SingleNumber.ini create mode 100644 Alogrithm/Alogrithm/include/14_SingleNumber.h create mode 100644 Alogrithm/Alogrithm/src/14_SingleNumber.cpp 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 beed4a10747766ded6dd4017b167fccfff86b59a..6177be5bdbfe520bf73d9618ff78d148118677f8 100644 GIT binary patch delta 9296 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 delta 13067 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 E5B?V|djJ3c 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);