字节跳动算法题面经

输入 n,给出 1~n 的所有排列,不要求输出有序
即 输入 3,输出 1,2,3,12,13,23,123.
有没有大佬java实现一下发个答案?
#字节跳动##笔试题目#
全部评论
有要一起刷题的小伙伴么,每天一个算法题,坚持30天你就会看到不一样的自己。
1 回复 分享
发布于 2021-03-07 17:14
回溯算法
1 回复 分享
发布于 2021-03-07 16:49
点赞 回复 分享
发布于 2021-03-11 22:05
这是子集吧,leetcode有原题。给你个思路吧 {1}的子集是{}和 {1},{1.2}的子集是{} {1} {2} {1.2}其实就是1的子集每加入一个二加上1原来的子集。找下规律就能出来了😂
点赞 回复 分享
发布于 2021-03-11 05:05
阿里数据中台招java研发实习,有兴趣同学加v:13031166600  也可发送简历至xinan.cj@alibaba-inc.com
点赞 回复 分享
发布于 2021-03-10 17:16
位运算 子集枚举
点赞 回复 分享
发布于 2021-03-08 07:37
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
点赞 回复 分享
发布于 2021-03-07 16:55
LeetCode 78
点赞 回复 分享
发布于 2021-03-07 15:54
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));     } }
点赞 回复 分享
发布于 2021-03-07 14:08
位运算?
点赞 回复 分享
发布于 2021-03-07 13:20
楼主你好,请问你是实习、校招还是社招?
点赞 回复 分享
发布于 2021-03-07 11:29

相关推荐

1.&nbsp;个人背景与现状:你目前是在实习为什么还在职但也在寻求其他机会?部门是否已明确是否有转正席位?2.&nbsp;项目经验:你提到在负责询价域和库存域,能否详细说明这个项目的整体背景、服务架构、团队协作情况,以及你在其中的具体角色?3.&nbsp;技术实现细节:在询价链路优化中,你提到通过冗余字段减少多表关联,那具体在哪个主表上增加了哪些字段?这些字段是如何与原表保持一致的?4.&nbsp;数据一致性:增加冗余字段后,如何保证主表与详情表的数据更新一致性?是否涉及多表事务?事务是如何实现的?底层原理是什么?5.&nbsp;事务回滚机制:事务回滚是自动的吗?是否需要手动编写回滚逻辑?回滚后如何确保数据恢复到原始状态?是否有监控或告警机制?6.&nbsp;缓存策略:你们使用的是旁路缓存模式,那缓存一致性如何保证?是强一致还是最终一致?为什么选择这种策略?7.&nbsp;缓存更新顺序:在缓存更新时,是先删缓存再更新数据库,还是先更新数据库再删缓存8.&nbsp;Redis部署架构:你们的Redis是主从架构还是集群?集群是如何实现的?哈希槽数量是多少?请求是如何映射到具体节点的?9.&nbsp;Redis读写路由:所有读请求是否都优先走主节点?读请求在集群中是如何分布的?10.&nbsp;Redis集群通信:集群节点之间通信使用什么协议?如何实现心跳检测和新节点发现?数据同步的协议是什么?11.&nbsp;服务网关与注册中心:你们使用的是Spring&nbsp;Cloud&nbsp;Gateway,它是如何实现服务发现和注册的?注册中心(如Nacos)中的服务信息是如何持久化的?12.&nbsp;用户体系与权限:在智能迎新助手项目中,用户体系是如何与平台绑定的?绑定过程使用了什么协议?平台是否提供回调通知账号注销状态?13.&nbsp;RAG系统:你们的RAG系统是自研的吗?使用了哪些外部组件?向量数据库从Pinecone迁移到MILVUS的原因是什么?14.&nbsp;检索策略优化:迁移后你们支持了哪些检索类型?是否引入了重排(re-ranking)策略?15.&nbsp;算法题:给定一个二叉树,每个节点都有指向父节点的指针,要求在O(1)空间复杂度下找到两个节点的最近公共祖先,你的解题思路是什么?如何处理不相交的情况整体不算难&nbsp;但是一面面试官和二面面试官都问的挺细的&nbsp;会一直顺着你的思路追问下去&nbsp;还好顶住压力了最后算法题想了一会其实就是链表相交的问题,表述完思路直接写出来了
查看15道真题和解析
点赞 评论 收藏
分享
评论
3
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务