究极简单题,用时7分37秒。
我的方法:先把满足条件2的单独存一个数组,再一边遍历新数组,一边对着原数组逐一检查是否符合条件1。
总结:多此一举,既然都是两次循环,直接两次循环找出最终答案得了,浪费了一个新数组的空间和第二次遍历新数组的时间,代码还更长。
5203. 统计可以提取的工件简单中等题,用时15分钟多。
我的方法:先遍历dig数组,将二元组[a,b]存进二维数组w[a][b]=1中,然后遍历工件数组,逐一检查每个工件占用的每个位置。
总结:方法和题目本身都简单,还是自己动作太慢。
5227. K 次 *** 作后最大化顶端元素中等题,用时55分钟!
这道题我要深刻反省,说是k次 *** 作就老老实实地在写每次 *** 作的具体方法(写了del方法、insert方法啥的),还真的用了一个栈来存,用数组来存剩下的和拿走的,属于是用战术上的勤奋掩盖战略上的懒惰。
其实这道题根本不用真正模拟具体 *** 作过程,重点是想清楚规律:
- 只有一个数时,如果K是奇数,最后只剩空栈。
- 只有一个数时,如果k是偶数,最后剩这一个数在栈里。
- 多个数时,找前k-1个数里的最大值m,结果很可能是这个m(特殊见4),(相当于前面一顿拿),第k步把m放回来。k>n时也一样,就在n个数中找m。
- 特殊情况时k
- 第k个数最大的情况不用处理,因为拿出或者放回k次,不可能留k在顶上。
困难,到这道题时只剩12分钟了,不过看了看好像也确实不会。
做了一下午还是没对。。。可见dijskra算法应用得还是很不熟练,效率期间先留在这,等补
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)