- 博客(7)
- 收藏
- 关注
原创 awk单词边界
如果要使用awk匹配一个单词例如 win ,而不是 winner 或者 twin 这些包含 win 的单词,就需要使用正则表达式转义字符的边界字符 \b。这样只匹配 win 的正则表达式应该是 /\bwin\b/ 。但是awk不识别\b, 例如有一个文件test内容如下:winwinnertwin使用 awk "/\bwin\b/" test 结果为空,如下图:解决方法是使用 \< 和 \> 作为边界,即 awk "/\<win\>/...
2022-05-20 18:07:16
478
原创 keil中C语言取反操作结果是32位数
在给stm32写红外解码驱动时,遇到了8位数据取反判等时的坑:直接对8位数按位取反得到的不是8位数据!!!!应该是32位!!!红外传输的数据中包括8位地址(以下称 a )以及它的按位取反码(以下称 b ),于是在接收端就要判断这里这两个数是否互反,来校验传输中有没有错误。于是有了这么一段类似的代码: char a= 0x00; char b= 0xff; USART1_Init(9600); //串口初始化为9600 if(a...
2022-04-16 22:16:59
2057
1
原创 二路归并可执行代码(icoding跑不起来哦)
数组合并假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法,将这 n 个数组合并到一个数组,且各元素按升序排列。即实现函数: void merge_arrays(const int* arr, int n, int k, int* output);其中 arr 为按行优先保存的 n 个长度都为 k 的数组,output 为合并后的按升序排列的数组,大小为 n×k。时间要求(评分规则),当 n > k 时:满分:时间复杂度不超过 O(n×k×log(n))
2021-06-19 15:45:19
262
7
原创 数组合并假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法,将这 n 个数组合并到一个数组,且各元素按升序排列。即实现函数: void merge_arrays(cons
数组合并假设有 n 个长度为 k 的已排好序(升序)的数组,请设计数据结构和算法,将这 n 个数组合并到一个数组,且各元素按升序排列。即实现函数: void merge_arrays(const int* arr, int n, int k, int* output);其中 arr 为按行优先保存的 n 个长度都为 k 的数组,output 为合并后的按升序排列的数组,大小为 n×k。时间要求(评分规则),当 n > k 时:满分:时间复杂度不超过 O(n×k×log(n))
2021-06-19 12:52:35
1174
9
原创 堆化二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2。 因此,第0个位置的子节点在1和2,1的子节点在3和4。以此类推。这种存储方式便于寻找父节
堆化二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2。 因此,第0个位置的子节点在1和2,1的子节点在3和4。以此类推。这种存储方式便于寻找父节点和子节点。在二叉堆上可以进行插入节点、删除节点、取出值最小的节点、减小节点的值等基本操作。“最小堆”的定义如下:typedef struct _otherInfo{ int i; int j;}OtherInfo;typedef struct _minHeapNode{
2021-06-18 10:49:42
547
原创 堆元素插入二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2。 因此,第0个位置的子节点在1和2,1的子节点在3和4。以此类推。这种存储方式便于寻
堆元素插入二叉堆一般用数组来表示。例如,根节点在数组中的位置是0,第n个位置的子节点分别在2n+1和 2n+2。 因此,第0个位置的子节点在1和2,1的子节点在3和4。以此类推。这种存储方式便于寻找父节点和子节点。在二叉堆上可以进行插入节点、删除节点、取出值最小的节点、减小节点的值等基本操作。“最小堆”的定义如下:typedef struct _otherInfo{ int i; int j;}OtherInfo;typedef struct _minHeapNode
2021-06-18 10:26:47
718
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人