字节跳动算法题面经

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

相关推荐

头像
03-29 20:08
已编辑
C++
分享一些个人之前的春招/秋招的面试求职经验,个人开源项目C++那些事3.6W&nbsp;star,欢迎学习共建!0.求职面经https://hmpy6adnp5.feishu.cn/docx/B1aCdVTUgoyJGYxtWV7cdvgRnxv?from=from_copylink1.早投递,占据时间优势这一点是非常重要的,当大家看到跟自己的岗位匹配时,应当先思考一下自己的实力,觉得不行就可以放弃了,其实我想说,如果这次投递不走系统,可以直接投递了,例如:走朋友或同学内推渠道,那么你可以不走系统面试,不管通过不通过,这一点来说你已经比很多人占据了时间优势。例如我之前因为疫情影响,大多公司采用线上面试,不同公司的秋招提前批有时候等价于以往的提前批,如果错过了,那就有可能放弃了进入这家公司的机会!如果自己实力不算太差,有记录的情况下可以直接投递了,如果自己实力很差,没记录情况下也可以直接投递了,占据投递时间因素也是一种机会。2.&nbsp;针对性复习在面试过60+场的面试中,我个人觉得算法+计算机基础便可以拿到不错的工作,面试当中记录一些不会的或者知识盲点,针对性的复习,效果往往很好,算法也是这样,不同公司算法是有重合度的,大部分来自剑指offer与leetcode,leetcode300道绝对够面试了,面试的时候套算法思路,跟面试官交流互动,当然还有一些实践性的代码,例如:手撕线程安全的单例、手撕多线程安全代码、手撕智能指针等等,像这些实则考察你的代码基本功,如果提前准备好,那面试可谓是送offer的。认真把握每场面试机会,多记录与总结,同时可以在牛客上看到自己面试公司的题目,可以认真刷一下,例如:我当时去面字节,就看了别人整理的字节题目,简直牛逼爆炸,面试基本原题。3.沟通的技巧相信很多人会给求职者传递面试就是运气成分,可是你知道运气来自于哪里吗,其中之一在于沟通的技巧,在跟面试官沟通问题以及说话口吻方面要学习一下,不然很容易凉凉的,例如:一些问题自己不会要谦虚的请教或者学习等等的态度,让面试官认为你是一个热爱学习积极主动的人,而不是一个浮躁不堪的人。#C++面经##面试##求职##C++软件开发招聘##cpp后台实习##八股文##模拟面试#, #24届软开秋招面试经验大赏#
点赞 评论 收藏
转发
#软件开发2024笔面经#&nbsp;感觉已经凉透了。。。写点热乎的凉经攒攒人品。反馈效率非常3高,只要这轮过了当天就会联系你约下一面,是我面过的最不墨迹的单位一面聊一个项目(自己挑)Deepspeed了解吗介绍下熟悉的主流大模型(llama)和transformer有什么区别/改进旋转位置编码怎么做的了解强化学习吗算法题:1.大小为k的滑动窗口扫描无序数组(步长1),输出移动过程中的窗口最大值2.最大值栈反问二面聊项目由项目引申细节提问(项目每个人不一样嘛,所以具体问题的参考意义不大,但可以再确认下自己项目的技术细节):bert的位置编码设计有什么数学含义?正余弦位置编码为什么2t要除以d?说一下吉布斯采样怎么个事算法题:通配符匹配(hard)场景题:怎么在一万篇文档里查找50万大小的词典中的词是否出现?反问三面 常用什么语言?Python怎么查字符串在另一个字符串中是否出现?答是find函数返回值?正常答底层实现逻辑?(嗯,这话一问出来我差不多知道我算是走远了。。。。)引申:你自己实现的话怎么实现字符串查找(模式串&nbsp;母串&nbsp;不用想太复杂)从商品描述中抽品牌,要求准确率覆盖率要高品牌词典大概50万,你怎么做?交流过程中有提到要考虑词义消歧,要考虑挖掘新的品牌词出来设计程序把物品pair&nbsp;list&nbsp;同类合并成类/簇list(pair代表成对相关)反问总结就是:自己项目必须熟,大模型标配,字符串拉满,如果你有搜索项目经验的话抓瞎程度应该会比我低一些(吧
点赞 评论 收藏
转发
3 12 评论
分享
牛客网
牛客企业服务