Browse Source

分支16完成

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

+ 5
- 0
.gitignore View File

@@ -149,3 +149,8 @@ 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
Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/1a3cc74a3bca3cfc/16_REVERSEBITS.ipch
Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/5ccdb9c64312b2ee/16_REVERSEBITS.ipch
Alogrithm/.vs/Alogrithm/v16/ipch/AutoPCH/969dd2cbf6a00d1b/16_REVERSEBITS.ipch
Alogrithm/.vs/Alogrithm/v16/TestStore/0/003.testlog
Alogrithm/Alogrithm/Debug/16_ReverseBits.obj

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


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

@@ -147,6 +147,7 @@
<ClCompile Include="src\13_MyAtoi.cpp" />
<ClCompile Include="src\14_SingleNumber.cpp" />
<ClCompile Include="src\15_WordPattern.cpp" />
<ClCompile Include="src\16_ReverseBits.cpp" />
<ClCompile Include="src\1_ContainsNearbyDuplicate.cpp" />
<ClCompile Include="src\2_ExcelSheetColumnTitle.cpp" />
<ClCompile Include="src\3_bool IsUgly.cpp" />
@@ -165,6 +166,7 @@
<ClInclude Include="include\13_MyAtoi.h" />
<ClInclude Include="include\14_SingleNumber.h" />
<ClInclude Include="include\15_WordPattern.h" />
<ClInclude Include="include\16_ReverseBits.h" />
<ClInclude Include="include\1_ContainsNearbyDuplicate.h" />
<ClInclude Include="include\2_ExcelSheetColumnTitle.h" />
<ClInclude Include="include\3_bool IsUgly.h" />
@@ -182,6 +184,7 @@
<None Include="config\13_MyAtoi.ini" />
<None Include="config\14_SingleNumber.ini" />
<None Include="config\15_WordPattern.ini" />
<None Include="config\16_ReverseBits.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

@@ -72,6 +72,9 @@
<ClCompile Include="src\15_WordPattern.cpp">
<Filter>源文件\src</Filter>
</ClCompile>
<ClCompile Include="src\16_ReverseBits.cpp">
<Filter>源文件\src</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="include\2_ExcelSheetColumnTitle.h">
@@ -119,6 +122,9 @@
<ClInclude Include="include\15_WordPattern.h">
<Filter>头文件\include</Filter>
</ClInclude>
<ClInclude Include="include\16_ReverseBits.h">
<Filter>头文件\include</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="config\3_bool IsUgly.ini">
@@ -166,5 +172,8 @@
<None Include="config\15_WordPattern.ini">
<Filter>资源文件\config</Filter>
</None>
<None Include="config\16_ReverseBits.ini">
<Filter>资源文件\config</Filter>
</None>
</ItemGroup>
</Project>

+ 18
- 0
Alogrithm/Alogrithm/config/16_ReverseBits.ini View File

@@ -0,0 +1,18 @@
[Test1]
Input=43261596
Output=964176192
[Test2]
Input=6
Output=1610612736
[Test3]
Input=4294967293
Output=3221225471
[Test4]
Input=128
Output=16777216‬
[Test5]
Input=1
Output=2147483648‬
[Test6]
Input=2
Output=1073741824‬

+ 3
- 0
Alogrithm/Alogrithm/include/16_ReverseBits.h View File

@@ -0,0 +1,3 @@
#pragma once
#include <stdint.h>
uint32_t ReverseBits(uint32_t n);

+ 13
- 0
Alogrithm/Alogrithm/src/16_ReverseBits.cpp View File

@@ -0,0 +1,13 @@
#include "../include/16_ReverseBits.h"
//题目:颠倒给定的 32 位无符号整数的二进制位。
//思路:把入参n和1相与,取到最后一位,res左移一位,再把最后一位和res进行或操作并赋值给res
// 循环上面的操作32次,返回res,res就是颠倒后的结果、
uint32_t ReverseBits(uint32_t n) {
uint32_t res = 0; //定义一个uint32_t类型数,作为返回值
for (int i = 0; i < 32; i++) {//循环位运算32次
res = res << 1; //res左移一位,准备给最后一位赋值,
res = res | (n & 1);//取n的最后一位,并把最后一位保存到res中,
n = n >> 1;//n循环右移
}
return res;
}

+ 2
- 4
Alogrithm/Alogrithm/src/main.cpp View File

@@ -1,11 +1,9 @@
#include<stdio.h>
#include "../include/15_WordPattern.h"
#include "../include/16_ReverseBits.h"


int main()
{
char p[] = "aba";
char s[] = "dog cat dog d";
printf("%d\n", WordPattern(p, s));
printf("%ld\n", ReverseBits(1));
return 0;
}

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

@@ -17,6 +17,7 @@ using namespace Microsoft::VisualStudio::CppUnitTestFramework;
#define FileName_13 "../Alogrithm/config/13_MyAtoi.ini"
#define FileName_14 "../Alogrithm/config/14_SingleNumber.ini"
#define FileName_15 "../Alogrithm/config/15_WordPattern.ini"
#define FileName_16 "../Alogrithm/config/16_ReverseBits.ini"


namespace UnitTest
@@ -294,4 +295,19 @@ namespace UnitTest
}
}
};
TEST_CLASS(UnitTest_16)
{
TEST_METHOD(TestMethode1)
{
char Section_Name[100][10] = { 0 };
int Section_Count = CalcCount(100, Section_Name, FileName_16);
CString input,output;
for (int i = 0; i < Section_Count; i++) {
GetPrivateProfileString(Section_Name[i], "Input", " ", input.GetBuffer(200), 200, FileName_16);
GetPrivateProfileString(Section_Name[i], "Output", " ", output.GetBuffer(200), 200, FileName_16);
uint32_t nReal = ReverseBits((uint32_t)_atoi64(input));
Assert::AreEqual(nReal, (uint32_t)_atoi64(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;../Alogrithm/Debug/14_SingleNumber.obj;../Alogrithm/Debug/15_WordPattern.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;../Alogrithm/Debug/15_WordPattern.obj;../Alogrithm/Debug/16_ReverseBits.obj;%(AdditionalDependencies)</AdditionalDependencies>
</Link>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">


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

@@ -28,6 +28,7 @@
#include"../Alogrithm/include/13_MyAtoi.h"
#include"../Alogrithm/include/14_SingleNumber.h"
#include"../Alogrithm/include/15_WordPattern.h"
#include"../Alogrithm/include/16_ReverseBits.h"


int CalcCount(int n, char(*str)[10],const char *FileName);


Loading…
Cancel
Save