摘要: 大小端是指数据存储或者传输时的字节序。 大端:数据的低位存放在高地址 小端:数据的低位存放在低地址 查看大小端的方法:把变量的地址强制类型转换为char*,这样就可以每次取出一个字节的内容 #include <iostream> using namespace std; int main() { i 阅读全文
posted @ 2020-03-20 19:21 betaa 阅读(205) 评论(0) 推荐(0) 编辑
摘要: 把一个数组分成m个连续子数组(不能有空数组),求所有分法中,子数组sum的最大值的最小值。 方法1:容易想到的是动态规划 dp[i][j] = min(max(dp[k-1][j-1], sum[k][i]) 1 <= k <= i, dp[i][j]表示用前i个数字,分成j组,最大和的最小值 ti 阅读全文
posted @ 2020-03-20 10:19 betaa 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 分析:求一个区间最邻近的右边的区间在数组中的索引位置,右侧区间头要大于等于左侧区间尾。用map存区间头对应的区间索引。 标准库有map自己的lower_bound函数,返回大于等于key的第一个值的iteraotr。找右侧最邻近区间就是找 lower_bound(intervals[i][1]) . 阅读全文
posted @ 2020-03-20 10:09 betaa 阅读(90) 评论(0) 推荐(0) 编辑
摘要: 分析:暴力枚举复杂度为$O(n^4)$,不可行。将A,B能组成的和用map计数,查找 -C[i]-D[j] 在map中是否存在 time $O(n^2)$ space $O(n^2)$ class Solution { public: int fourSumCount(vector<int>& A, 阅读全文
posted @ 2020-03-20 09:59 betaa 阅读(75) 评论(0) 推荐(0) 编辑