diff --git a/Alogrithm/.vs/Alogrithm/v16/.suo b/Alogrithm/.vs/Alogrithm/v16/.suo
index ef128af..88ad43f 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 29b9647..0733cea 100644
--- a/Alogrithm/Alogrithm/Alogrithm.vcxproj
+++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj
@@ -145,6 +145,7 @@
+
@@ -153,6 +154,7 @@
+
@@ -160,6 +162,7 @@
+
diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters
index 3d3b3bc..34e6ca5 100644
--- a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters
+++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters
@@ -42,6 +42,9 @@
源文件\src
+
+ 源文件\src
+
@@ -59,6 +62,9 @@
头文件\include
+
+ 头文件\include
+
@@ -76,5 +82,8 @@
资源文件\config
+
+ 资源文件\config
+
\ No newline at end of file
diff --git a/Alogrithm/Alogrithm/config/6_ContainsDuplicate.ini b/Alogrithm/Alogrithm/config/6_ContainsDuplicate.ini
index e69de29..b701c4a 100644
--- a/Alogrithm/Alogrithm/config/6_ContainsDuplicate.ini
+++ b/Alogrithm/Alogrithm/config/6_ContainsDuplicate.ini
@@ -0,0 +1,21 @@
+[test1]
+input=1,2,3,1
+output=1
+[test2]
+input=1,2,3,4,5,6
+output=0
+[test3]
+input=1,2,3,4,5,2
+output=1
+[test4]
+input=3,3,3,3,3
+output=1
+[test5]
+input=0,0,0,0
+output=1
+[test6]
+input=1,8,3,9
+output=0
+[test7]
+input=214748367,-214748368,-214748368
+output=1
\ No newline at end of file
diff --git a/Alogrithm/Alogrithm/include/6_ContainsDuplicate.h b/Alogrithm/Alogrithm/include/6_ContainsDuplicate.h
index e69de29..68d6144 100644
--- a/Alogrithm/Alogrithm/include/6_ContainsDuplicate.h
+++ b/Alogrithm/Alogrithm/include/6_ContainsDuplicate.h
@@ -0,0 +1,5 @@
+#pragma once
+#include
+#include
+int cmp_6(const void* _a, const void* _b);
+bool containsDuplicate(int* nums, int numsSize);
\ No newline at end of file
diff --git a/Alogrithm/Alogrithm/src/6_ContainsDuplicate.cpp b/Alogrithm/Alogrithm/src/6_ContainsDuplicate.cpp
index e69de29..e3cf1be 100644
--- a/Alogrithm/Alogrithm/src/6_ContainsDuplicate.cpp
+++ b/Alogrithm/Alogrithm/src/6_ContainsDuplicate.cpp
@@ -0,0 +1,16 @@
+#include"../include/6_ContainsDuplicate.h"
+
+int cmp_6(const void* _a, const void* _b) {
+ int a = *(int*)_a, b = *(int*)_b;
+ return a - b;
+}
+//6.ȽԪǷȣtruefalse
+bool containsDuplicate(int* nums, int numsSize) {
+ qsort(nums, numsSize, sizeof(int), cmp_6);
+ for (int i = 0; i < numsSize - 1; i++) {
+ if (nums[i] == nums[i + 1]) {
+ return true;
+ }
+ }
+ return false;
+}
\ No newline at end of file
diff --git a/Alogrithm/UnitTest/UnitTest.cpp b/Alogrithm/UnitTest/UnitTest.cpp
index 7fc0a00..68f3a8b 100644
--- a/Alogrithm/UnitTest/UnitTest.cpp
+++ b/Alogrithm/UnitTest/UnitTest.cpp
@@ -7,6 +7,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#define FileName_3 "../Alogrithm/config/3_bool IsUgly.ini"
#define FileName_4 "../Alogrithm/config/4_IsPalindrome.ini"
#define FileName_5 "../Alogrithm/config/5_MinDepth.ini"
+#define FileName_6 "../Alogrithm/config/6_ContainsDuplicate.ini"
namespace UnitTest
{
@@ -93,4 +94,22 @@ namespace UnitTest
}
}
};
+ TEST_CLASS(UnitTest_6)
+ {
+ TEST_METHOD(TestMethode1)
+ {
+ char Section_Name[100][10] = { 0 };
+ int Section_Count = CalcCount(100, Section_Name, FileName_6);
+ int array_count = 0;
+ int* Section_Value;
+ CString Na, Nb, nExpect;
+ for (int i = 0; i < Section_Count; i++) {
+ GetPrivateProfileString(Section_Name[i], "input", " ", Na.GetBuffer(200), 200, FileName_6);
+ GetPrivateProfileString(Section_Name[i], "output", " ", nExpect.GetBuffer(20), 20, FileName_6);
+ Section_Value = str_device(Na, &array_count);
+ bool nReal = containsDuplicate(Section_Value, array_count);
+ Assert::AreEqual(nReal, CstrToBool(nExpect));
+ }
+ }
+ };
}
diff --git a/Alogrithm/UnitTest/UnitTest.vcxproj b/Alogrithm/UnitTest/UnitTest.vcxproj
index aa3f479..5284fc8 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;%(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;%(AdditionalDependencies)
diff --git a/Alogrithm/UnitTest/pch.h b/Alogrithm/UnitTest/pch.h
index 01f0539..55a32ff 100644
--- a/Alogrithm/UnitTest/pch.h
+++ b/Alogrithm/UnitTest/pch.h
@@ -18,6 +18,7 @@
#include"../Alogrithm/include/3_bool IsUgly.h"
#include"../Alogrithm/include/4_IsPalindrome.h"
#include"../Alogrithm/include/5_MinDepth.h"
+#include"../Alogrithm/include/6_ContainsDuplicate.h"