@@ -145,6 +145,7 @@ | |||||
<ClCompile Include="src\3_bool IsUgly.cpp" /> | <ClCompile Include="src\3_bool IsUgly.cpp" /> | ||||
<ClCompile Include="src\4_IsPalindrome.cpp" /> | <ClCompile Include="src\4_IsPalindrome.cpp" /> | ||||
<ClCompile Include="src\5_MinDepth.cpp" /> | <ClCompile Include="src\5_MinDepth.cpp" /> | ||||
<ClCompile Include="src\6_ContainsDuplicate.cpp" /> | |||||
<ClCompile Include="src\main.cpp" /> | <ClCompile Include="src\main.cpp" /> | ||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
@@ -153,6 +154,7 @@ | |||||
<ClInclude Include="include\3_bool IsUgly.h" /> | <ClInclude Include="include\3_bool IsUgly.h" /> | ||||
<ClInclude Include="include\4_IsPalindrome.h" /> | <ClInclude Include="include\4_IsPalindrome.h" /> | ||||
<ClInclude Include="include\5_MinDepth.h" /> | <ClInclude Include="include\5_MinDepth.h" /> | ||||
<ClInclude Include="include\6_ContainsDuplicate.h" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<None Include="config\1_ContainsNearbyDuplicate.ini" /> | <None Include="config\1_ContainsNearbyDuplicate.ini" /> | ||||
@@ -160,6 +162,7 @@ | |||||
<None Include="config\3_bool IsUgly.ini" /> | <None Include="config\3_bool IsUgly.ini" /> | ||||
<None Include="config\4_IsPalindrome.ini" /> | <None Include="config\4_IsPalindrome.ini" /> | ||||
<None Include="config\5_MinDepth.ini" /> | <None Include="config\5_MinDepth.ini" /> | ||||
<None Include="config\6_ContainsDuplicate.ini" /> | |||||
</ItemGroup> | </ItemGroup> | ||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> | ||||
<ImportGroup Label="ExtensionTargets"> | <ImportGroup Label="ExtensionTargets"> | ||||
@@ -42,6 +42,9 @@ | |||||
<ClCompile Include="src\5_MinDepth.cpp"> | <ClCompile Include="src\5_MinDepth.cpp"> | ||||
<Filter>源文件\src</Filter> | <Filter>源文件\src</Filter> | ||||
</ClCompile> | </ClCompile> | ||||
<ClCompile Include="src\6_ContainsDuplicate.cpp"> | |||||
<Filter>源文件\src</Filter> | |||||
</ClCompile> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<ClInclude Include="include\2_ExcelSheetColumnTitle.h"> | <ClInclude Include="include\2_ExcelSheetColumnTitle.h"> | ||||
@@ -59,6 +62,9 @@ | |||||
<ClInclude Include="include\5_MinDepth.h"> | <ClInclude Include="include\5_MinDepth.h"> | ||||
<Filter>头文件\include</Filter> | <Filter>头文件\include</Filter> | ||||
</ClInclude> | </ClInclude> | ||||
<ClInclude Include="include\6_ContainsDuplicate.h"> | |||||
<Filter>头文件\include</Filter> | |||||
</ClInclude> | |||||
</ItemGroup> | </ItemGroup> | ||||
<ItemGroup> | <ItemGroup> | ||||
<None Include="config\3_bool IsUgly.ini"> | <None Include="config\3_bool IsUgly.ini"> | ||||
@@ -76,5 +82,8 @@ | |||||
<None Include="config\5_MinDepth.ini"> | <None Include="config\5_MinDepth.ini"> | ||||
<Filter>资源文件\config</Filter> | <Filter>资源文件\config</Filter> | ||||
</None> | </None> | ||||
<None Include="config\6_ContainsDuplicate.ini"> | |||||
<Filter>资源文件\config</Filter> | |||||
</None> | |||||
</ItemGroup> | </ItemGroup> | ||||
</Project> | </Project> |
@@ -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 |
@@ -0,0 +1,5 @@ | |||||
#pragma once | |||||
#include <math.h> | |||||
#include <stdlib.h> | |||||
int cmp_6(const void* _a, const void* _b); | |||||
bool containsDuplicate(int* nums, int numsSize); |
@@ -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.排序,比较相邻元素是否相等,若相等则返回true,否则返回false。 | |||||
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; | |||||
} |
@@ -7,6 +7,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; | |||||
#define FileName_3 "../Alogrithm/config/3_bool IsUgly.ini" | #define FileName_3 "../Alogrithm/config/3_bool IsUgly.ini" | ||||
#define FileName_4 "../Alogrithm/config/4_IsPalindrome.ini" | #define FileName_4 "../Alogrithm/config/4_IsPalindrome.ini" | ||||
#define FileName_5 "../Alogrithm/config/5_MinDepth.ini" | #define FileName_5 "../Alogrithm/config/5_MinDepth.ini" | ||||
#define FileName_6 "../Alogrithm/config/6_ContainsDuplicate.ini" | |||||
namespace UnitTest | 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)); | |||||
} | |||||
} | |||||
}; | |||||
} | } |
@@ -103,7 +103,7 @@ | |||||
<SubSystem>Windows</SubSystem> | <SubSystem>Windows</SubSystem> | ||||
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | <AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories> | ||||
<GenerateDebugInformation>DebugFull</GenerateDebugInformation> | <GenerateDebugInformation>DebugFull</GenerateDebugInformation> | ||||
<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;%(AdditionalDependencies)</AdditionalDependencies> | |||||
<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)</AdditionalDependencies> | |||||
</Link> | </Link> | ||||
</ItemDefinitionGroup> | </ItemDefinitionGroup> | ||||
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | <ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'"> | ||||
@@ -18,6 +18,7 @@ | |||||
#include"../Alogrithm/include/3_bool IsUgly.h" | #include"../Alogrithm/include/3_bool IsUgly.h" | ||||
#include"../Alogrithm/include/4_IsPalindrome.h" | #include"../Alogrithm/include/4_IsPalindrome.h" | ||||
#include"../Alogrithm/include/5_MinDepth.h" | #include"../Alogrithm/include/5_MinDepth.h" | ||||
#include"../Alogrithm/include/6_ContainsDuplicate.h" | |||||