2024.7.4
**每日一题**
3086.拾起k个1需要的最少行动次数,在这道题我们可以把0看成空位,第二种操作相当于把一个1移动到和它相邻的空位上,而第一种操作则是贪心地把和当前下标相邻的0变成1;当maxchanges较大时,优先使用第一种操作+第二种操作;maxchanges较小的情况是,几所所有长为k-maxchanges的子数组的货仓选址问题,再取最小值。
78.子集,这道题用的是回溯的算法,也可以说是深度优先搜索。通过设置一个当前遍历的元素个数和需要遍历的数组来维护dfs函数,维护一个当前的集合和答案集合,当个数达到原数组大小时返回,遍历时包含两种情况,分别是考虑当前元素和不考虑当前元素,每次都先达到了最大元素个数,再依次返回。