摘要: 盛水最多的容器 从两边开始往中间缩小,较小的一条边移动 因为面积是由较小一边决定的(较大一边移动的话不可有比现在面积更大的了,因为高最高是较小边,宽还在缩小) int maxArea(vector& height) { int len = height.size(); int max = 0; int area ... 阅读全文
posted @ 2018-11-07 18:15 苦瓜与我常在 阅读(122) 评论(0) 推荐(0)
摘要: Z字形 一个字符串,排成给定行数的Z(竖着的Z)字形 mZ形字行 找规律,先算出第一行的每个坐标 0 + (m - 1)*2 算出基准 P I N A S G Y H P I 非基准 = 基准 + (m - 1) * 2 - I; string ans; //cin >> s; //int numRows; //c... 阅读全文
posted @ 2018-11-07 18:13 苦瓜与我常在 阅读(131) 评论(0) 推荐(0)
摘要: 两数之和 给一个数组,和一个target,求数组里两个数字的和为target 一遍哈希表 遍历一遍把值和key放入哈希表中O(n) 查找 target - nums[i] 是否在哈希表中O(1) vector twoSum(vector& nums, int target) { unordered_map m; for (int... 阅读全文
posted @ 2018-11-07 18:12 苦瓜与我常在 阅读(322) 评论(0) 推荐(0)
摘要: 内存中字的存储 内存单元是一个字节,一个字要用两个连续内存单元存放。 字单元:存放一个字型数据(16位)的内存单元,两个地址连续的内存单元组成,高地址存放高位字节,低地址存放低位字节。 DS 和 [address] 前面使用mov, 可以完成两种传送(1)数据直接送入寄存器(2)寄存器中的内容送入另 阅读全文
posted @ 2018-10-23 21:36 苦瓜与我常在 阅读(180) 评论(0) 推荐(0)
摘要: 通用寄存器 8086CPU的所有寄存器都是16位的,可以存放两个字节。 AX BX CX DX这次个寄存器通常用来存放一般性的数据,被称为通用寄存器。 AX 分为 AL AH BX 分为 BL BH CX 分为 CL CH DX 分为 DL DH 字在寄存器中的存储 字节:记为byte,8bit,可以存在一个8位寄存器中 字:记为word,一个字由两个bit构成 ... 阅读全文
posted @ 2018-10-23 21:36 苦瓜与我常在 阅读(194) 评论(0) 推荐(0)
摘要: 空间配置器的必要接口 allocator::rebind嵌套的class template,唯一成员other,代表allocatorallocator::allocator默认构造allocator::allocator(const allocator&)拷贝构造templateallcotor::alocator(const allocator&)泛化的拷贝构造allocator... 阅读全文
posted @ 2018-10-20 11:44 苦瓜与我常在 阅读(225) 评论(0) 推荐(0)
摘要: iterator模式:提供一种方法,使之能够依序寻访某个容器所含的各个元素,而又无需暴露该聚合物内部表述方式。 迭代器是一种smart pointer 迭代器是一种行为像指针的对象,指针最常见的内容是 dereference 和 member access(成员访问) 迭代器最重要的变成工作就是对 operator* 和operator-> 进行重载 迭代器相应的型别 在算... 阅读全文
posted @ 2018-10-20 11:43 苦瓜与我常在 阅读(213) 评论(0) 推荐(0)
摘要: SGI 特殊的空间配置器 std::alloc 一般而言,我们习惯的C++内存配置操作和释放操作是这样的 class Foo{…..} Foo* pf = new Foo; delete pf; new包含两阶段操作 (1)调用 ::operator new 配置内存 (2)调用 Foo::Foo() 构造对象内容。 delete也包含两阶段操作 (1)调用... 阅读全文
posted @ 2018-10-20 11:41 苦瓜与我常在 阅读(203) 评论(0) 推荐(0)