全部评论
有要一起刷题的小伙伴么,每天一个算法题,坚持30天你就会看到不一样的自己。
回溯算法
这是子集吧,leetcode有原题。给你个思路吧 {1}的子集是{}和 {1},{1.2}的子集是{} {1} {2} {1.2}其实就是1的子集每加入一个二加上1原来的子集。找下规律就能出来了😂
阿里数据中台招java研发实习,有兴趣同学加v:13031166600 也可发送简历至xinan.cj@alibaba-inc.com
位运算 子集枚举
class Solution: def subsets(self, nums: List[int]) -> List[List[int]]: n = len(nums) def dfs(tmp,begin): res.append(tmp[:]) for i in range(begin,n): dfs(tmp+[nums[i]],i+1) res = [] dfs([],0) return res
LeetCode 78
import java.util.ArrayList; import java.util.List; public class Solution { public List<List<Integer>> getArrange(int n){ boolean[] vis = new boolean[n+1]; List<List<Integer>> rsl = new ArrayList<>(); dfs(new ArrayList<>(), rsl, vis, 1, n, 1); return rsl; } public void dfs(List<Integer> rs, List<List<Integer>> rsl, boolean[] vis, int i, int n, int depth){ if(depth == n + 1){ if(rs.size()>=1) rsl.add(new ArrayList<>(rs)); return; } for(int j=i;j<=n;j++){ if(!vis[j]){ vis[j] = true; rs.add(j); dfs(rs, rsl, vis, j+1, n, depth + 1); vis[j] = false; rs.remove(rs.size()-1); dfs(rs, rsl, vis, j+1, n , depth+1); } } } public static void main(String[] args) { Solution s = new Solution(); System.out.println(s.getArrange(3)); } }
位运算?
楼主你好,请问你是实习、校招还是社招?
相关推荐
点赞 评论 收藏
分享
02-14 14:36
门头沟学院 前端工程师 点赞 评论 收藏
分享
01-16 22:31
赣南师范大学 运营
白火同学:1、简历可以浓缩成一页,简历简历先要“简”方便HR快速过滤出有效信息,再要“历”用有效信息突出个人的含金量。
2、教育背景少了入学时间~毕业时间,HR判断不出你是否为应届生。
3、如果你的平台账号效果还不错,可以把账号超链接或者用户名贴到对应位置,一是方便HR知道你是具体做了什么内容的运营,看到账号一目了然,二是口说无凭,账号为证,这更有说服力。 点赞 评论 收藏
分享
点赞 评论 收藏
分享
查看10道真题和解析