From e7cab946e2e1a48760d1c142d597a4f1b3f08ecf Mon Sep 17 00:00:00 2001 From: linyongji Date: Mon, 18 Jan 2021 08:21:25 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=94=AF=E5=85=AD=E5=90=88=E5=B9=B6?= =?UTF-8?q?=E6=97=B6=E8=A7=A3=E5=86=B3=E5=86=B2=E7=AA=81=E6=B2=A1=E8=A7=A3?= =?UTF-8?q?=E5=86=B3=E5=A5=BD=EF=BC=8C=E5=88=86=E6=94=AF=E4=B9=B1=E4=BA=86?= =?UTF-8?q?=EF=BC=8C=E5=B0=B1=E5=9C=A8=E4=B8=BB=E5=88=86=E6=94=AF=E4=B8=8B?= =?UTF-8?q?=E5=81=9A=E4=BA=86=E5=8D=95=E5=85=83=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Alogrithm/.vs/Alogrithm/v16/.suo | Bin 72192 -> 71168 bytes Alogrithm/Alogrithm/Alogrithm.vcxproj | 3 +++ Alogrithm/Alogrithm/Alogrithm.vcxproj.filters | 9 ++++++++ .../Alogrithm/config/6_ContainsDuplicate.ini | 21 ++++++++++++++++++ .../Alogrithm/include/6_ContainsDuplicate.h | 5 +++++ .../Alogrithm/src/6_ContainsDuplicate.cpp | 16 +++++++++++++ Alogrithm/UnitTest/UnitTest.cpp | 19 ++++++++++++++++ Alogrithm/UnitTest/UnitTest.vcxproj | 2 +- Alogrithm/UnitTest/pch.h | 1 + 9 files changed, 75 insertions(+), 1 deletion(-) diff --git a/Alogrithm/.vs/Alogrithm/v16/.suo b/Alogrithm/.vs/Alogrithm/v16/.suo index ef128afa468c30097944668e1477b3fb117625d6..88ad43f7859c823e816ec5afee79854ad759cba7 100644 GIT binary patch delta 3727 zcmcgvdr(y86~Euz3*22-SYEQi%3csx?xc+Utu)-0Y=hk@gk;Z#6OO;1mgRfEVqTa&?SCmOo_ zYd(38*`br~X4!Cy|2lgSJen;ct&c%~>u(n3fm<4LcPy&pg2rN;i&453=gA0s8<&Kj ztxbq>L;^yOSczDJNJOL|mLpt<6od{zekGKth^2@E#1aI(GlS#Gxb3K9A?~2TjPh#; z+El2@9Fz|rT2(zAWnOPhGBftpn45Q?wjNP|a3GwB4G8kE5#=VtW<(WY3t}r`1%jRz zsj^m;^{RXf<>QEARX5>_*6mRh+DM~C)%Qo)+j0Ixl-{Y%zujAtmiQDZs}KhfnTR93 zH5oGBrtRqSMrCXHeXWdJREwWLzNH(FIpDi2O?v<_8_)J3l zr);6S?c{TMezvHp$d2jc@)2dKPMIY;4a(YD1ZCBz+FLOK|5F03s)G_$-YbEn>hsSr zfd-Q(GOTO_B?%MU=Z(@MMl^8KsF* zLmR-o>>Dgoxt$uv&s}KhW(;nh+9J+hEmBR>kO!RLOtyl1z!hGUhqkcG$$@IP%ol-` z7vSLOG1zp_24166sH6o_Nh-8&je#4QB$zb1M4}u@bL3-|`usWk&>klXdn6hmJBx$P z=Hs#?fpl0@EYcMge+M5?Y{HDllqt_8Mw}8JMvftW?wwIl62CnHFW9o=sw)C1k?*W} zSIdar;#G@Iz{F9YI8K?$;(6IOA`(qftw(nF>IG`;$j5%yB@(j`5t2dvsUXhqw!GaL zJ^{5EJ&S3?Nf&swkHTgBI`CF|^1jv{7$D19379|3f^+6DodV>mN&DkMwsLSq}*1|CE1#HNjhXp21VD zU&SzDiD)P6JJ4BE9Xdvi!>=@Q*%pMV+nIhkb~*G4E8h}aXt(agGsQ>`8%)|1Q&2> zi=N46MnqzC%3b7)?lDRbOm-&KXCGY@Fx|L${O#kzrb}9HsGyX%_|xEnfl?OH|0ns@laP;!rC!O z$WAZB!x!@{`eJMT+Tz0-cD5a8?ob~rhSB`Bu;jsF@b)c%tChLZgZX9F@S4x*UB@at zu)A-~Z19`s1s{4s*1Iz@7P7L>LKpo$+2xKj{WfrT%Ym<1zo6!i2{%97Hs{VVuwh>L zM_mUI_MdwTYz#;q8DoX=LBdvFMw;&RS-N;$~Pa7``&=E-(U7$;KAJ23a*z0 z$bEj5a_5?cDZ!IvOmRJ5#3xcK%nYK?QsvqQgG?>|8m8n7U1w17T9eW=d`felZ~6io zIuu;c)i(6YMn3%g{!tz-KGy=C=kg%&<+qj)$Igu1>csgvG@U(yM3p%7PAF#Pv@d!G z`MVAZ57GF*E!T}glMPYjBVC5I!`|D(U& zKQzb;*ZGAWS>6@YA{%oAD`*SNcnA4T*%QNmk;q6&!}_-N+1~;)WCn&pYut`^>6+po zt}rXDlWXJL+ySluf7G^cI}v-hX3hrF1*>3Sw-M|W_Js#E39f$MqWtBf-)im^7{hfN z*mgbhfBbs?$Kp=}#v|hU14(QbbQG>W?~7$e<3a9mLB|?P|FHyi2)q>;Fj28Wu@?r} FzW@=xw?Y5_ delta 4594 zcmd5=4^Wfm8UNldUm)R63L!xUSObk3HDE{((M}8|Dn=xU+D^M@)hdc&f*4qBt7N+C zSj%#Bjh1pTtH`Ni0zDdLbOBB%?saRqKltgVRAe57N8 z?zH+GtW+aLA)Z34L(sqkq<4_&kj5jvg&_Vsq%^4;X(594Fdi`h@jb+3gb}d}F$Y0o za${7FbS)wSF%>b6#OQjY8xb22n-En9FQOJvfS^S-BdtMfLHH5V5Os)&h!;67n|l%~ z)bVAcuOPM|wj=5h0ffj`DY?_mFDa||vGv6`h^}#{ki3Rum4$|^w>(UAW<1lQWk+(N3DS}3gKo&5O~8i6}GH z=YA2HkpFlhO2~>B4IK#d307!Kas{gma4F%;#0_Y18xd8AO$aZ-hp0wuM${m-AO_&w zM2lE%7f3{)vuMG$LJqyW8vNx>u;tDaopuF@ESbKeWrE-7Qjo0a7{pM{$I3zkcier9 z1*?~cU)i=&N(IssT1E1wyvK&O+L@$Jzr@6>QejN25BRfO0_pWV=Ll!H6eJe9-sl0w zG>RS@*i!Ss@4+)74SSqQ&W;_%-tDy9r64UMJEc)^daSIDhudim1$i8DEX0?SaWUAc zspkg-xUHG5!KB>jpGdqfAwilPfTTyUDtm--#=u;c-h9NCx>Eodh+t+Rv{GI41J+l2LeXg{ig zRcj5h=|&T%d@r$W$bA~ByX9bA)&YS&0~q>7gZb8TzuK!|6)a>@fVCn3jxH5+pG}gN z;l!ihuj8^|RdfW%bi864l64n4&hXgAv>Z?VY49Ni;M zSHkn7{^o9BZ?$~*X&=*;D78k9Ti^EEAHUiN9rLwd^lHJg^b_&$6!3Y?(6D(cTN|1y zh~v))N4z%tP*OoUxyw0X2bYaowT}a9}BHvp`Wsc>HLOy?915FV<i{d(hLLBZ;@(U=Z44l1!l=3;(agd7Xj3b^T5n~JsR*rO2nx!5j1P60O?dzg`$xI!4yx+-a1r9Wc+ zHI@GL5NLfHnh)6??uTj{p}lJs^xEPj-QjiyGY=$)R=a{ycFH43GEom&uAp}UrSlPK zg{>IqAIGJF^H?qPbjCwvrvWY>(8B)K4cHdIduXE6)0WRiLLtTgTtI!yD{9aKkC-1U zP*8?Nxj}Rz8kd4%_OL|3C16OoN89A|{J`wt5$OO7)OQP%Zqv+CIFQ63P+_Gwok|a< zq4Gt%{=98<>`Ye;LlF@#se>LHRP4WD_8BJpc{$%yIL$oOWX>%RGwcdV#d8pm6ZkV+ z3Oe`XAx1dE8I5PDQH~K_%B+>qT zm1VXWo@eOw5)(zq6w{Cdn|Guz%`O!ylpI%1#eefskMIo!;;lBg@o5V?1;L9xXt&Ij z!k-z~eR9wZltcNYCe{YW?`(tZrFp33y&O@ YPvE2D%y#e=?}puFlcA+7dn7RKzkgw*;{X5v 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.򣬱ȽԪǷȣ򷵻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; +} \ 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"