力扣周赛

周赛总结

第118场双周赛

稳定两题,前两题做的很快,一个暴力,一个稍微转变一下想法,第三题动态规划卡到了递归哪里,不知道下一个在哪里

2943.最大化网格图中正方形空洞的面积

找到连续的最长递增段就可以,横竖的min

灵神:分组循环,每次外层while()找到一个起点,内层去找到本段的符合条件的结尾,结算


2944.购买水果需要的最少金币数

动态规划,找到下一个要购买的可能性,才能缩小问题,

对于一开始没有头绪的,先从递归入手 -> 记忆化搜索 -> 严格位置依赖的动态规划

// if(i > nums.size())      如果是收集路径或者计算次数,可以用进来循环的下标来表示是否 收集完毕 或者 本次有效 
//     return 0;
//但是这个是计算花费数字,如果返回0/1,取min,一定是0/1,所以要提前一步进行返回考虑

第373场周赛

接触到了带着索引进行排序,iota()函数

2946.循环移位后的矩阵相似检查

矩阵 行 左(右)循环移位,可以这么表示ans[i][(j + k) % m] = mat[i][j];


2947.统计美丽子字符串I

这个暴力就可以,第四题暴力tle,不看了


2948.交换得到字典序最小的数组

分组循环+索引排序

//5 1 22 21 4 3 20 2

//1 2 3 4 5 20 21 22 先找到1 2 3 4 5这一段,是可以任意排序的,但是位置还是上面的一组内的位置,不能改变不同组之间的相对位置

找到后,将原始下标提取出来,排序,然后按照相对位置关系,把1 2 3 4 5 挨个放回去

posted @ 2023-11-29 20:55  小柴cyl  阅读(56)  评论(0)    收藏  举报
/*粒子线条,鼠标移动会以鼠标为中心吸附的特效*/