C\C++项目中使用Git信息管理版本号
C\C++项目中使用Git仓库版本号两种方式:
CMakeLists.txt文件中执行git命令获取版本号;(推荐)
sh脚本文件生成version.h文件,保证在执行make之前,头文件已存在;
CMakeLists.txt调用git命令利用CMake调用Git命令获取仓库版本状态,然后将信息输出到一个头文件中(或者添加define),程序需要使用版本信息的,包含头文件并使用对应宏即可。
CMakeLists.txt添加:
123456789101112131415161718192021222324252627282930string (TIMESTAMP build_time %m%d%H%M)message("build time: ${build_time})find_package(Git)# 生成版本描述字符串类似 TAG-X-gHASHexecute_process(COMMAND ${GIT_EXECUTABLE} describe --abbrev=6 --dirty --always --tags WOR ...
两数相除
给定两个整数,被除数dividend和除数divisor。将两数相除,要求不使用乘法、除法和mod运算符
实现strStr()
给定一个haystack字符串和一个needle字符串,在haystack字符串中找出needle字符串出现的第一个位置 (从0开始)。如果不存在,则返回-1。
移除元素
给你一个数组 nums 和一个值 val,你需要 原地 移除所有数值等于 val 的元素,并返回移除后数组的新长度
删除排序数组中的重复项
给定一个排序数组,你需要在 原地 删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度
reverse-k-group
给你一个链表,每k个节点一组进行翻转,请你返回翻转后的链表。
gdb+gdbserver方式调试海思ARM板上程序
99d9ee6767175aa7a8bd189b0f1d4acf88356f2c34e2d159c7183420422eae25f930a332131e991173d75739353606ac5b8dc6d95d1658ec9018da71c7b21d9ae3bd774367e1bdf568100714a497f25d7233990596d2ad252b4b64ae71c558e87126c4394aa7caab753ee51266a935435f20e4eb270813e286e191e58f3c051e915394b90eb97f17538241b1ab9a51bdcba60519eb512506a74cae9d321dab972b5ee3971fcf0d0941cbffb66a1ac7a10256c33997891e14447779cb3e530e077d4e50026927c8e70cda71974e034e4bbca27ab8ba4ccfab6330795bd93c3fe7a6f9a96003157116ede59a1a254ff6a392dacc00d4439f445 ...
二维区域和检索 - 矩阵不可变
二维区域和检索 - 矩阵不可变给定一个二维矩阵,计算其子矩形范围内元素的总和,该子矩阵的左上角为 (row1, col1) ,右下角为 (row2, col2) 。
示例:
给定 matrix = [
[3, 0, 1, 4, 2],
[5, 6, 3, 2, 1],
[1, 2, 0, 1, 5],
[4, 1, 0, 1, 7],
[1, 0, 3, 0, 5]
]
sumRegion(2, 1, 4, 3) -> 8
sumRegion(1, 1, 2, 2) -> 11
sumRegion(1, 2, 2, 4) -> 12
提示:
你可以假设矩阵不可变。
会多次调用 sumRegion 方法。
你可以假设 row1 ≤ row2 且 col1 ≤ col2 。
Solution12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061#include <iostream> ...