算法题解:给定一个字符串输出其全排列形式的所有字符串(JAVA代码)

例如:给定字符串:ABC,输出结果有6种:

ABC ACB BAC BCA CBA CAB

解题代码

public class PrintStringPermutations {public static void main(String[] args) {String str = "ABCD";int n = str.length();PrintStringPermutations permutation = new PrintStringPermutations();permutation.permute(str, 0, n - 1);}/*** permutation function** @param str*            string to calculate permutation for* @param l*            starting index* @param r*            end index*/private void permute(String str, int l, int r) {if (l == r)System.out.println(str);else {for (int i = l; i <= r; i++) {str = swap(str, l, i);permute(str, l + 1, r);str = swap(str, l, i);}}}/*** Swap Characters at position** @param a*            string value* @param i*            position 1* @param j*            position 2* @return swapped string*/public String swap(String a, int i, int j) {char temp;char[] charArray = a.toCharArray();temp = charArray[i];charArray[i] = charArray[j];charArray[j] = temp;return String.valueOf(charArray);}
}

【面试】2019.7.10京东校招提前批相关推荐

  1. 【名企面试经验-快手-校招提前批】【Java研发工程师】

    快手提前批Java Offer 一面(50min): 1.自我介绍 2.项目介绍 3.为什么项目中又有KVM虚拟机,又有Docker? 4.为什么项目中要用虚拟机,为什么不用物理机? 5.(手撕算法) ...

  2. 【名企面试经验-新浪-校招提前批】【数据平台研发工程师】

    offer 一面: 1.介绍项目 2.算法基础知识 3.Java基础知识 4.如何排查线程死锁 5.对大数据的看法 6.如果能过愿意提前来实习吗 二面: 1.介绍了团队情况和具体做的事情,然后就是瞎聊 ...

  3. 【熬夜整理近百份大厂面经】2022校招提前批面经总结分享(腾讯、字节、阿里、百度、京东等招聘信息+必考点+简历书写)

    整理面经镇楼 随着高考的结束,2022的校招提前批已经悄悄开始了,不管你是大四还是研三,应聘将会成为大家接下来半年乃至一年的重要任务! 接下来就结合我自身的经验以及我翻阅几百份最新面经后的一点点总结经 ...

  4. 大疆2019校招提前批机器学习算法工程师在线笔试题目回忆版

    最后还涉及到两道16分的在线编程题目,但是我忘记了,故没有列出来,望大家原谅2333. 大疆2019年校招提前批机器学习算法工程师B卷题目回忆版 1 考察关于各种激活函数 sigmoid.tanh.r ...

  5. 大量CV职位!奥比中光2020届校招提前批内推启动!

    点击我爱计算机视觉标星,更快获取CVML新技术 内 · 推 奥比中光2020届校园招聘 提前批[内部推荐] !!!正式启动!!! 快人一步锁定offer 海投的迷茫.宣讲会的焦灼.双选会的拥挤 通通与 ...

  6. 卷起来了!校招提前批爆发期!

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 7月正式进入很多公司的2023届校招提前批启动阶段!据Amusi了解,目前腾讯(技术大咖).字节.百度等60 ...

  7. 8月!校招提前批的黄金期和末尾期!

    点击下方卡片,关注"CVer"公众号 AI/CV重磅干货,第一时间送达 8月已进入校招提前批的黄金期和末尾期!校招时间表如下图所示(建议收藏): 目前字节.百度等100多家公司都已 ...

  8. 校招提前批之今日头条一面

    今天上午面了头条校招提前批,感觉考的比较基础,也有一些知识点没有答出来,现凭着记忆总结一些知识点. CSS 1.inline间隙问题 可以参考以下几篇文章: http://www.w3cplus.co ...

  9. 为什么校招提前批offer变实习offer?这是我听过最醍醐灌顶的回答!

    很多细心的同学有一个发现:近几年企业校招提前批不再发校招offer而是发实习offer,特别是在大厂的校园招聘中. "为什么会变成暑期实习offer?" "暑期实习对我有 ...

最新文章

  1. python read函数返回值_python read()方法定义及使用(实例解析)
  2. 学完python基础开始学爬虫_零基础入门Python爬虫不知道怎么学?这是入门的完整教程...
  3. mysql异步扩展_基于Swoole扩展开发异步高性能的MySQL代理服务器
  4. ios Runloop
  5. Linux打印指定的行范围
  6. wxWidgets:wxFileType类用法
  7. mybatis分页的一种解决方案
  8. php递归实现层级树状展开,PHP递归实现层级树状展开,php递归层级树状_PHP教程...
  9. SQLi LABS Less-39
  10. android 读取音频音量,Android AudioRecord和MediaRecorder录音并实现了实时获取音量大小...
  11. 一些SharePoint 2007开发的在线课程
  12. Kubernetes (federation)联邦机制介绍
  13. 分布式事务解决方案总结
  14. 通过linux内核如何读取pmbus总线上的数据,Linux内核中读写文件数据的方法
  15. php vue是什么,vue.js是什么软件
  16. 三维模型转换html,三维模型查看器转换软件FinalMesh Professional 1.2.0.329 Pro | C4DSKY...
  17. sql基础语法,非常全建议收藏(大白菜程序猿欢迎大家关注)
  18. iOS 唤起APP之Universal Link(通用链接)
  19. vue垂直布局_基于 Flex 实现两端对齐垂直布局
  20. 13C同位素脉冲标记法浅析(实验解析)

热门文章

  1. mysql转sqlserver_mysql迁移sqlserver
  2. 2020美赛F奖论文(四):模拟退火算法驱动的结构策略设计
  3. be服务器未正常运行2.6.43,绝地求生be服务器未正常运行2.6.43怎么解决?
  4. 移动开发中一些bug及解决方案
  5. 将一张图片的人物融入另一张图片中
  6. 软碟通(UItraISO)使用教程
  7. 【8019】俞军给淘宝产品经理的分享
  8. ultraiso制作u盘启动盘教程
  9. 从零开始写一个简单的bootloader(1)
  10. 一位老兄看 深圳西安北京上海 大众收入与消费