Browse Source

分支14完成

master
linyongji 4 years ago
parent
commit
7e245da06a
11 changed files with 77 additions and 4 deletions
  1. +4
    -0
      .gitignore
  2. BIN
      Alogrithm/.vs/Alogrithm/v16/.suo
  3. +4
    -0
      Alogrithm/Alogrithm/Alogrithm.vcxproj
  4. +9
    -0
      Alogrithm/Alogrithm/Alogrithm.vcxproj.filters
  5. +18
    -0
      Alogrithm/Alogrithm/config/14_SingleNumber.ini
  6. +3
    -0
      Alogrithm/Alogrithm/include/14_SingleNumber.h
  7. +14
    -0
      Alogrithm/Alogrithm/src/14_SingleNumber.cpp
  8. +3
    -3
      Alogrithm/Alogrithm/src/main.cpp
  9. +20
    -0
      Alogrithm/UnitTest/UnitTest.cpp
  10. +1
    -1
      Alogrithm/UnitTest/UnitTest.vcxproj
  11. +1
    -0
      Alogrithm/UnitTest/pch.h

+ 4
- 0
.gitignore View File

@@ -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

BIN
Alogrithm/.vs/Alogrithm/v16/.suo View File


+ 4
- 0
Alogrithm/Alogrithm/Alogrithm.vcxproj View File

@@ -88,6 +88,7 @@
<SDLCheck>false</SDLCheck>
<PreprocessorDefinitions>WIN32;_DEBUG;_CONSOLE;_CRT_SECURE_NO_WARNINGS;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<ConformanceMode>false</ConformanceMode>
<ModuleOutputFile>$(IntDir)%(RelativeDir)</ModuleOutputFile>
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
@@ -144,6 +145,7 @@
<ClCompile Include="src\11_CanWinNim.cpp" />
<ClCompile Include="src\12_IsValid.cpp" />
<ClCompile Include="src\13_MyAtoi.cpp" />
<ClCompile Include="src\14_SingleNumber.cpp" />
<ClCompile Include="src\1_ContainsNearbyDuplicate.cpp" />
<ClCompile Include="src\2_ExcelSheetColumnTitle.cpp" />
<ClCompile Include="src\3_bool IsUgly.cpp" />
@@ -160,6 +162,7 @@
<ClInclude Include="include\11_CanWinNim.h" />
<ClInclude Include="include\12_IsValid.h" />
<ClInclude Include="include\13_MyAtoi.h" />
<ClInclude Include="include\14_SingleNumber.h" />
<ClInclude Include="include\1_ContainsNearbyDuplicate.h" />
<ClInclude Include="include\2_ExcelSheetColumnTitle.h" />
<ClInclude Include="include\3_bool IsUgly.h" />
@@ -175,6 +178,7 @@
<None Include="config\11_CanWinNim.ini" />
<None Include="config\12_IsValid.ini" />
<None Include="config\13_MyAtoi.ini" />
<None Include="config\14_SingleNumber.ini" />
<None Include="config\1_ContainsNearbyDuplicate.ini" />
<None Include="config\2_ExcelSheetColumnTiTle.ini" />
<None Include="config\3_bool IsUgly.ini" />


+ 9
- 0
Alogrithm/Alogrithm/Alogrithm.vcxproj.filters View File

@@ -66,6 +66,9 @@
<ClCompile Include="src\13_MyAtoi.cpp">
<Filter>源文件\src</Filter>
</ClCompile>
<ClCompile Include="src\14_SingleNumber.cpp">
<Filter>源文件\src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\2_ExcelSheetColumnTitle.h">
@@ -107,6 +110,9 @@
<ClInclude Include="include\13_MyAtoi.h">
<Filter>头文件\include</Filter>
</ClInclude>
<ClInclude Include="include\14_SingleNumber.h">
<Filter>头文件\include</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="config\3_bool IsUgly.ini">
@@ -148,5 +154,8 @@
<None Include="config\13_MyAtoi.ini">
<Filter>资源文件\config</Filter>
</None>
<None Include="config\14_SingleNumber.ini">
<Filter>资源文件\config</Filter>
</None>
</ItemGroup>
</Project>

+ 18
- 0
Alogrithm/Alogrithm/config/14_SingleNumber.ini View File

@@ -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

+ 3
- 0
Alogrithm/Alogrithm/include/14_SingleNumber.h View File

@@ -0,0 +1,3 @@
#pragma once

int SingleNumber(int* nums, int numsSize);

+ 14
- 0
Alogrithm/Alogrithm/src/14_SingleNumber.cpp View File

@@ -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++) {// i从1开始,nums[0]和nums[1]异或,结果保存在nums[0]中
nums[0] = nums[0] ^ nums[i];//nums[0]依次和后面的数异或,结果保存在nums[0]中,
}
return nums[0];//所有数都运算完以后,返回值就是单独存在的数。
}

+ 3
- 3
Alogrithm/Alogrithm/src/main.cpp View File

@@ -1,9 +1,9 @@
#include<stdio.h>
#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;
}

+ 20
- 0
Alogrithm/UnitTest/UnitTest.cpp View File

@@ -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));
}
}
};
}

+ 1
- 1
Alogrithm/UnitTest/UnitTest.vcxproj View File

@@ -103,7 +103,7 @@
<SubSystem>Windows</SubSystem>
<AdditionalLibraryDirectories>$(VCInstallDir)UnitTest\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
<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;../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)</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;../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)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">


+ 1
- 0
Alogrithm/UnitTest/pch.h View File

@@ -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);


Loading…
Cancel
Save