Skip to content

Latest commit

 

History

History
76 lines (51 loc) · 2.19 KB

中级01.md

File metadata and controls

76 lines (51 loc) · 2.19 KB

1. 滑动窗口、打表法、预处理结构

1.1 滑动窗口不回退

1. 绳子

给定一个有序数组arr,代表数轴上从左到右有n个点arr[0]、arr[1]...arr[n—1],给定一个正数L,代表一根长度为L的绳子,求绳子最多能覆盖其中的几个点

方法一:每个点作为绳子右侧端点的情况下,可以覆盖几个点

// todo

方法二:

// todo

1.2 打表法

2. 买苹果

小虎去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装包装不可拆分。可是小虎现在只想购买恰好n个苹果,小虎想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小虎将不会购买。输入一个整数n,表示小虎想购买的个苹果,返回最小使用多少袋子。如果无论如何都不能正好装下,返回-1

// todo

3. 牛羊吃草问题

// todo

1.3 预处理数组

4. 染色

牛牛有一些排成一行的正方形。每个正方形已经被染成红色或者绿色。牛牛现在可以选择任意一个正方形然后用这两种颜色的任意一种进行染色,这个正方形的颜色将会被覆盖。牛牛的目标是在完成染色之后,每个红色R都比每个绿色G距离最左侧近。牛牛想知道他最少需要涂染几个正方形。

如样例所示:s=RGRGR

我们涂染之后变成RRRGG满足要求了,涂染的个数为2,没有比这个更好的涂染方案。

// todo

5. 最大正方形的边

给定一个N*N的矩阵matrix,只有0和1两种值,返回边框全是1的最大正方形的边长长度。

例如:

01111 
01001 
01001 
01111 
01011

其中边框全是1的最大正方形的大小为4*4,所以返回4。

// todo

6. 二进制

给定一个函数f,可以1~5的数字等概率返回一个。请加工出1~7的数字等概率返回一个的函数g

给定一个函数f,可以a~b的数字等概率返回一个。请加工出c~d的数字等概率返回一个的函数g

给定一个函数f,以p概率返回0,以1-p概率返回1。请加工出等概率返回0和1的函数g

// todo