摘要: 一、题目 给你一个整数数组 nums ,找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列,删除(或不删除)数组中的元素而不改变其余元素的顺序。例如,[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子序列。 二、思路 dp[i]: 所有长度为i+1的递增子序列中, 最小 阅读全文
posted @ 2023-04-05 21:43 ImreW 阅读(10) 评论(0) 推荐(0) 编辑
摘要: (一)typedef/define的基本概念 1.typedef typedef int BOOL; #define TRUE 1 #define FALSE 0 定义好之后,就可以像使用基本类型数据一样使用它了,如下面的代码所示: BOOL bflag=TRUE; 2.与define的区别 typ 阅读全文
posted @ 2023-04-05 20:03 ImreW 阅读(10) 评论(0) 推荐(0) 编辑
摘要: (一)背景 实现多线程环境下的计数器操作,统计相关事件的次数. 当然我们知道,count++这种操作不是原子的。一个自加操作,本质是分成三步的: 1 从缓存取到寄存器 2 在寄存器加1 3 存入缓存。 由于时序的因素,多个线程操作同一个全局变量,会出现问题。这也是并发编程的难点。在目前多核条件下,这 阅读全文
posted @ 2023-04-05 19:32 ImreW 阅读(215) 评论(0) 推荐(0) 编辑
摘要: (一)malloc() 说明: C 库函数 void *malloc(size_t size) 分配所需的内存空间,并返回一个指向它的指针。 原型: void *malloc( size_t size)//内存块的大小,以字节为单位。//该函数返回一个指针 ,指向已分配大小的内存。如果请求失败,则返 阅读全文
posted @ 2023-04-05 19:19 ImreW 阅读(4) 评论(0) 推荐(0) 编辑
摘要: 编译器属性__attribute__用于向编译器描述特殊的标识、检查或优化. (一)基本用法 __attribute__((cleanup(...))),用于修饰一个变量,在它的作用域结束时可以自动执行一个指定的方法,如: // 指定一个cleanup方法,注意入参是所修饰变量的地址,类型要一样 / 阅读全文
posted @ 2023-04-05 19:11 ImreW 阅读(153) 评论(0) 推荐(0) 编辑