全部评论
有要一起刷题的小伙伴么,每天一个算法题,坚持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)); } }
位运算?
楼主你好,请问你是实习、校招还是社招?
相关推荐
点赞 评论 收藏
分享
在职牛马didi:这篇路线整理得很系统,把后端知识映射到Agent体系这个思路特别实用。我自己也是从Java转做AI的,感触很深:工程底子扎实的人转Agent确实有优势,RAG和工具编排这些核心能力本质上都是后端逻辑的延伸。我们团队在做天猫的AI应用落地,方向跟你这篇路线里的企业级RAG和Agent系统很接近。暑期实习还在招AI应用研发工程师,JD可以参考看看跟你背景是否匹配:https://www.nowcoder.com/jobs/detail/440929?jobId=440929
点赞 评论 收藏
分享
查看5道真题和解析