摘要: 蚂蚁 【题目描述】 在一根无限长的木棍上,用n只蚂蚁,每只蚂蚁有一个初始位置和初始朝向,蚂蚁们以每秒一个单位的速度向前移动,当两只蚂蚁相遇时,它们会掉头(掉头时间忽略不计)。现给出每只蚂蚁的初始位置和初始朝向,请你计算出它们在t秒后的位置和朝向。 思路: 1.对于每只蚂蚁,它的坐标在所有蚂蚁中的次序 阅读全文
posted @ 2018-03-01 21:56 yjk 阅读(353) 评论(0) 推荐(1)
摘要: 滑动窗口 【题目描述】 有N个数字,以及一个大小为k的窗口。现在这个窗口从左边开始向右滑动,每次滑动一个单位,求出每次滑动后窗口中的最大值和最小值。 思路: k<=N<=1000000,暴力是拿不到全分的,要想解决这个问题,理想的时间复杂度应是O(n),我们可以用一个单调队列维护。 单调队列原理: 阅读全文
posted @ 2018-03-01 21:30 yjk 阅读(166) 评论(0) 推荐(0)
摘要: 理想的正方形 【题目描述】 一个a*b的矩阵,从中取一个n*n的子矩阵,使所选矩阵中的最大数与最小数的差最小。 思路: 二维的滑动窗口 对于每行:用一个单调队列维护,算出每个长度为n的区间的最大值和最小值,分别存在两个数组fmin和fmax中,fmax[i][j]表示第i行区间[j,j+n-1]的最 阅读全文
posted @ 2018-03-01 21:11 yjk 阅读(125) 评论(0) 推荐(0)