From a3b08d0bc3990afd1246f8144d3752bdf7021d09 Mon Sep 17 00:00:00 2001 From: linyongji Date: Thu, 21 Jan 2021 13:22:01 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=94=AF15=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 98304 -> 105984 bytes Alogrithm/Alogrithm/Alogrithm.vcxproj | 3 ++ Alogrithm/Alogrithm/Alogrithm.vcxproj.filters | 9 +++++ Alogrithm/Alogrithm/config/15_WordPattern.ini | 32 ++++++++++++++++++ Alogrithm/Alogrithm/include/15_WordPattern.h | 10 ++++++ Alogrithm/Alogrithm/src/15_WordPattern.cpp | 31 +++++++++++++++++ Alogrithm/Alogrithm/src/main.cpp | 8 +++-- Alogrithm/UnitTest/UnitTest.cpp | 21 ++++++++++++ Alogrithm/UnitTest/UnitTest.vcxproj | 2 +- Alogrithm/UnitTest/pch.h | 1 + 11 files changed, 118 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 40ca5f4..4c676a0 100644 --- a/.gitignore +++ b/.gitignore @@ -145,3 +145,7 @@ 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 +Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/9876e434a61c44b6/15_WORDPATTERN.ipch +Alogrithm/.vs/Alogrithm/v16/TestStore/0/002.testlog +Alogrithm/Alogrithm/Debug/15_WordPattern.obj +Alogrithm/TestResults/c48be650-9a69-4bb0-8f14-5679ff4c12c3/林_MI-1 2021-01-21 11_21_13.coverage diff --git a/Alogrithm/.vs/Alogrithm/v16/.suo b/Alogrithm/.vs/Alogrithm/v16/.suo index acef311fc34a856a69534276bad575f389302188..fb10a0778defa9c2ce0ec7bf3b728b94237c4154 100644 GIT binary patch delta 10863 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 delta 7751 zcmd^D3sh5Ay3T(*KoWxT2#+ctARTj%z! znLF$5wZ81V|Fid>z0dzX_P#*7J+M=kC@2P7s6wHkp-8yq@pzaziZHLI>^}iQF;N&l z`rS5oQ~Q^Hg<_)jTk!$m0r&}iE<6NNur+9*vXIEk4o!`zAxMJ{C(#eJ+YrQv_USYt z#-2N<&m*V_L4;|9M1qnKK?o)!5ylZ_5hfCN-%qHYK}aF!3E_kv6Zo`|)bpC#sShJ0 z69Ne71U>|c36ItQtNMvuIhw+=fL=uiqzQ)){{p^Fp6ASj1WaiHKRhww_#w%j99EtYq4)e0{%v=4P8qs9whj# z+dDn=7PhH|w&B&_Qt=Kt1)IIgrs)8urs#SC+T&7ODQV}y8C8gdA$pfBidKcMhCpl$ zZ-+T}HQW=#@@FpVu0*=DMHitrC0Y1+a;)G={^SoJ^=cu{m1jH#T}gs-W|7Fk^#0*Y zVwGTnPHagiRR$56^@AS;@{MTtbwaVoJ^>TvMq=aq0DLzvJa7dO(j)PK#9}4CT^1Mb z(RlaJj9OQlz$eF)iY}2I5ih`jiqlHg6gEXB1pI;qeXgsMg9PVnqsW%$|3|_$z*Vys ztANdx&B4oLcBu*sG-FkfDYiMKD%q>C(~$WVkWAjh*0>D%|0L1(cWA4ig=`~y2ro0D z06Rw3M=!IxO7UeuA1oh@h)mDV&UR&GodTz>PzCJe*a`7!;olXwN>?I|;J2`U#!9z( zM_x}07VWgV?ImCbXN*C9^Xy+_C0!I#5p$B3?j^zi;d8=QzK4A=Z_nXX9}(dq;ZKB5 z2!AFp{Sx&C+WZ&lFB7g1J|%ocC?i{9@efL|FgA+?!{J<^kis5?DUPOyTe_rgv1D+7J+!lb?A$BMvOC5d zd**e0!lp=vS?6pcYhFawoasH*kZss9O9Q;#&QFhUAk!prEcREffDegqKekRO#=<7O z>Q$P3Oiz*4HRg=S+W|MT&*P!Lsz-j)hzV>s9$jRhk^mR?h$+U=meLp z`ZS=SI?tWg4C~>BgQI!>WVAa2x@t&ElQB7SJS!yHGEaZU=>p`_;nmO#SIWin(A$tA zU`lZu?{?XWO`!C*J>@7;FjhwSErJKr)$C?9krL6LAh5UbwH^49Is&da%#(1Bx&uzp zG}qCz)u|yP8v27$V3!%}Ellcm(59h+$7Jeno=D7J??y5a?rnRA6v89`J|2fTl^!ldN9 zAlOG3SYZ-bW&OpEwv{Gj9udb4u2L_cK`nvSUAylDzaAW@GbxQk7|%rcy7eX{rzWw3 zgkW}JRU98kHjZeRA;soHXhQ3A8^oq1kE~AmuT7Vy?-YK2Zri2H_nv5ba@MbReYx`U zgoSvWjkX~5EQRQFJ}-N1wncWLa^nHLAQ`$~8nMeY{t6S_8LA;V=I_sq z^2tzFnP1nqvbok)Q(tLq#yeZn(EfHR<{yl~{#FAz9=ly?>4e{I+W{KvIi^G1Tc;n!5VsG7$(!k;Oun$4DUWWKa9^=_Ji7n zm35Yqmij77bLPEGO>Jv*gDqnf!nC>nU|s0?Sm?SW^nSV!M5BJjbS(X>2Mu3nQ1gYY zy@_5D>z9)7PV_*`j({!BR7#t`7^@y49qxsCvG@88}eQK4;lc& z@7B3=-Q@1y{~#906XLp4?NI4_!v1X@5t8Og{g1FyspKxuYS=%p)pFbRB=l>m zEtUEa;;+G1UrxiLeYZ({OFx+Ju+e>>)M9eGP3VjSAUhABG(2x-oJlB#PvHf2N&gH!;8w1T$lIf;kvW!{Dxc^ zN6&(D>P)Fb3-Jj@E-VlE<%HKR7M6WBuT08%VQ*DVRn)-MLyE-8%i_8gK%qW7>+6V+X2ZA0K!q3FdidrA!~-P$vTswf z{j+r&Z>}LB!9#kKSyN1o%Mk3-EAKqv9~~EO9u)1>-zVVt2hNefZ=rhcvmE@yzJPeV z{6(c4`Ox&`0qi+6S^C%kVM2gA6em+LUQG}D}IS7YlBJPZoe%1+@((kMg zj^*d}^u`x~IGLV%)1C1hm?~&ony&_eZY81`yb+b^SvjKOk1HoSEBiwxP`u*YUqzoG z8Y$7y3rici!(dd`9thRvSZ$W(;UW*q-qT^UV`}j9^z1<&wVAfe&ClYma?B->;GeJF zdqdzPebex#*4i)y$JxP#=7S09VYTrOu4>KYU-_09zrlHp2^rQw`hz0Y^wBqx{5;-} zc5_C~#fR~m99`(>VaLY?x`3IFxe3kRK@$6@p`@RiA+oioahB zm;@Yw3Zxz<=y5Ov#YE|K%L-~6%+0Ok%@&KvY^$;IrOM<>E!q+VLnFRa80Yi8#-9*U zFz)zzOguc5s(>-LcuUlXSd%*Dde?lzZSezl){SxSf73+@h|WPYudoIZTg&aJwCccFWH?C zL>jK9`cx@}mVlPFh?wNK{g(BHy^6Q&0Y@DEai}g@`{GBbPoQ7nC4h!y*H4r-rwoCdTSc`e>u~PRWC`R*(T9$Q&^ie0|NS7QC{ItCS1YxyB zdZ-iJ(r72V^7Q3NAj*f3y4S*SKOXMxcF<|Yw$#<}XE1K_3TIX>wOV{RZ1;Qs>^Nt@ z^$U`*`fQy0%uSync%eJN+OclZ&FWvat j4STyB6RYCiK6S_XGxk@$d=q=$I)#o0W8IYARKtG*d^`q- diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj b/Alogrithm/Alogrithm/Alogrithm.vcxproj index 6504277..4a3ce66 100644 --- a/Alogrithm/Alogrithm/Alogrithm.vcxproj +++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj @@ -146,6 +146,7 @@ + @@ -163,6 +164,7 @@ + @@ -179,6 +181,7 @@ + diff --git a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters index c4cc541..72060dc 100644 --- a/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters +++ b/Alogrithm/Alogrithm/Alogrithm.vcxproj.filters @@ -69,6 +69,9 @@ 源文件\src + + 源文件\src + @@ -113,6 +116,9 @@ 头文件\include + + 头文件\include + @@ -157,5 +163,8 @@ 资源文件\config + + 资源文件\config + \ No newline at end of file diff --git a/Alogrithm/Alogrithm/config/15_WordPattern.ini b/Alogrithm/Alogrithm/config/15_WordPattern.ini index e69de29..f35eb50 100644 --- a/Alogrithm/Alogrithm/config/15_WordPattern.ini +++ b/Alogrithm/Alogrithm/config/15_WordPattern.ini @@ -0,0 +1,32 @@ +[Test1] +Pattern=abba +Str=dog cat cat fish +Output=0 +[Test2] +Pattern=abab +Str=dog cat dog cat +Output=1 +[Test3] +Pattern=aba +Str=dog cat dog cat dog +Output=0 +[Test4] +Pattern=ababab +Str=dog cat +Output=0 +[Test5] +Pattern=abcc +Str=dog cat fish fish +Output=1 +[Test6] +Pattern=abcc +Str=dog cat m m +Output=1 +[Test7] +Pattern=abcc +Str=dog cat dog dog +Output=0 +[Test8] +Pattern=abbb +Str=cat dog dog dog +Output=1 \ No newline at end of file diff --git a/Alogrithm/Alogrithm/include/15_WordPattern.h b/Alogrithm/Alogrithm/include/15_WordPattern.h index e69de29..fa69d12 100644 --- a/Alogrithm/Alogrithm/include/15_WordPattern.h +++ b/Alogrithm/Alogrithm/include/15_WordPattern.h @@ -0,0 +1,10 @@ +#pragma once +#include +#include +#include +typedef struct compose { + char ch; + char* str; +}ComPose; + +bool WordPattern(char* pattern, char* s); \ No newline at end of file diff --git a/Alogrithm/Alogrithm/src/15_WordPattern.cpp b/Alogrithm/Alogrithm/src/15_WordPattern.cpp index e69de29..f915750 100644 --- a/Alogrithm/Alogrithm/src/15_WordPattern.cpp +++ b/Alogrithm/Alogrithm/src/15_WordPattern.cpp @@ -0,0 +1,31 @@ +#include "../include/15_WordPattern.h" + +//ĿһֹpatternһַstrжstrǷѭͬĹɡ +//˼·ṹ飬ѶӦַַȻжַͬԪأӦַǷҲ +bool WordPattern(char* pattern, char* s) { + int patt_len = strlen(pattern);//patternij + int s_len = 0; //sij + char* token; //иַãʱ洢ַ + ComPose* arr = (ComPose*)malloc(sizeof(ComPose) * patt_len);//Ϊṹ鿪ٿռ䣬patternijȿٴС + token = strtok(s, " "); //Կոиַsѵһַŵstrtok + while (token != NULL) { //иֱַsΪNULL + if (s_len == patt_len) //sַpatternַfalse + return false; + arr[s_len].ch = pattern[s_len];//patternеַŵṹеchar ch + arr[s_len].str = (char*)malloc(sizeof(char) * strlen(token));//Ϊṹе char *strٿռ + strcpy(arr[s_len].str, token); //Ѳֵַṹеchar *str + token = strtok(NULL, " "); // + s_len++; //ͳַӴĸ + } + if (s_len != patt_len) //sַСpatternַfalse + return false; + for (int i = 0; i < s_len; i++) { //ҽṹchȵԪ + for (int j = 1; j < s_len ; j++) { + if ((arr[i].ch - arr[j].ch == 0) && (strcmp(arr[i].str, arr[j].str) != 0))//chӦȵԪأstrȣfalse + return false; + else if ((arr[i].ch - arr[j].ch != 0) && (strcmp(arr[i].str, arr[j].str) == 0))//chȵԪأstrȣfalse + return false; + } + } +return true; //㣬false +} \ No newline at end of file diff --git a/Alogrithm/Alogrithm/src/main.cpp b/Alogrithm/Alogrithm/src/main.cpp index b1b8c8a..de01dd6 100644 --- a/Alogrithm/Alogrithm/src/main.cpp +++ b/Alogrithm/Alogrithm/src/main.cpp @@ -1,7 +1,11 @@ #include -#include "../include/4_IsPalindrome.h" +#include "../include/15_WordPattern.h" + + int main() { - printf("%d\n",IsPalindrome(-123321)); + char p[] = "aba"; + char s[] = "dog cat dog d"; + printf("%d\n", WordPattern(p, s)); return 0; } diff --git a/Alogrithm/UnitTest/UnitTest.cpp b/Alogrithm/UnitTest/UnitTest.cpp index 5c299b5..75f4c48 100644 --- a/Alogrithm/UnitTest/UnitTest.cpp +++ b/Alogrithm/UnitTest/UnitTest.cpp @@ -16,6 +16,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework; #define FileName_12 "../Alogrithm/config/12_IsValid.ini" #define FileName_13 "../Alogrithm/config/13_MyAtoi.ini" #define FileName_14 "../Alogrithm/config/14_SingleNumber.ini" +#define FileName_15 "../Alogrithm/config/15_WordPattern.ini" namespace UnitTest @@ -273,4 +274,24 @@ namespace UnitTest } } }; + TEST_CLASS(UnitTest_15) + { + TEST_METHOD(TestMethode1) + { + char Section_Name[100][10] = { 0 }; + int Section_Count = CalcCount(100, Section_Name, FileName_15); + char Pattern_char[1024] = { 0 }; + char Str_char[1024] = { 0 }; + CString Pattern, Str, Output; + for (int i = 0; i < Section_Count; i++) { + GetPrivateProfileString(Section_Name[i], "Pattern", " ", Pattern.GetBuffer(200), 200, FileName_15); + GetPrivateProfileString(Section_Name[i], "Str", " ", Str.GetBuffer(400), 400, FileName_15); + GetPrivateProfileString(Section_Name[i], "Output", " ", Output.GetBuffer(20), 20, FileName_15); + strcpy(Pattern_char, Pattern); + strcpy(Str_char, Str); + bool nReal = WordPattern(Pattern_char, Str_char); + Assert::AreEqual(nReal, CstrToBool(Output)); + } + } + }; } diff --git a/Alogrithm/UnitTest/UnitTest.vcxproj b/Alogrithm/UnitTest/UnitTest.vcxproj index c7c09e1..a837996 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;../Alogrithm/Debug/14_SingleNumber.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;../Alogrithm/Debug/15_WordPattern.obj;%(AdditionalDependencies) diff --git a/Alogrithm/UnitTest/pch.h b/Alogrithm/UnitTest/pch.h index 9c4a61e..1ff181a 100644 --- a/Alogrithm/UnitTest/pch.h +++ b/Alogrithm/UnitTest/pch.h @@ -27,6 +27,7 @@ #include"../Alogrithm/include/12_IsValid.h" #include"../Alogrithm/include/13_MyAtoi.h" #include"../Alogrithm/include/14_SingleNumber.h" +#include"../Alogrithm/include/15_WordPattern.h" int CalcCount(int n, char(*str)[10],const char *FileName);