- 做之前一定要读懂题意,分要素的记下来,特别是题目较长的题;
- 整体分析需要哪些信息,再来定数据结构,数据结构越简单越好;
- 设计函数,尽可能的复用写的函数;
桶方法
1、 题目:
621. 任务调度器
2、解法:
https://leetcode-cn.com/problems/task-scheduler/solution/tong-zi-by-popopop/
3、适用范围:
有固定的间隔可用
固定+1的间隔
1、 题目:
352. 将数据流变为多个不相交区间
2、解法:
https://leetcode-cn.com/submissions/detail/227265335/
3、适用范围:
判断是否按顺序
以空间换时间
https://leetcode-cn.com/problems/count-number-of-maximum-bitwise-or-subsets/
该题的dfs暴力搜索
class Solution {
public:
int n;
map<int,int>mp;
void dfs(vector<int>& nums,int sum,int cur)
{
if(cur==n)
{
mp[sum]++;
return;
}
dfs(nums,sum|nums[cur],cur+1);
dfs(nums,sum,cur+1);
}
int countMaxOrSubsets(vector<int>& nums) {
n=nums.size();
dfs(nums,0,0);
return (mp.rbegin())->second;
}
};
作者:matt-11
链接:https://leetcode-cn.com/problems/count-number-of-maximum-bitwise-or-subsets/solution/cdfsbao-li-mei-ju-by-matt-11-x4tr/
来源:力扣(LeetCode)
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。