当前位置: 首页 > news >正文

天津网站建设技术韶关市住房和城乡建设部网站

天津网站建设技术,韶关市住房和城乡建设部网站,电子商务市场营销,开发工程师是程序员吗打印一个字符串的全部排列 打印一个字符串的全部排列解题思路打印一个字符串的全部排列#xff0c;要求不要出现重复的排列递归专题 打印一个字符串的全部排列 自负串全排序: 举例: abc 的全排序是: abc acb bac bca cba cab 解题思路 因为每个字符都要选,其实就是选择每个字符… 打印一个字符串的全部排列 打印一个字符串的全部排列解题思路打印一个字符串的全部排列要求不要出现重复的排列递归专题 打印一个字符串的全部排列 自负串全排序: 举例: abc 的全排序是: abc acb bac bca cba cab 解题思路 因为每个字符都要选,其实就是选择每个字符的顺序,那我们递归时,就可以把不同顺序一直递归下去. 代码演示 /*** 字符串的全排列* param str* return*/public static ListString allSubSequence(String str){if (str null || str.equals()){return null;}//保存答案ArrayListString ans new ArrayList();process(str.toCharArray(),0,ans);return ans;}/*** 递归* param str 字符串数组* param index 下标值* param ans 保存答案*/public static void process(char[]str, int index, ListString ans){//base caseif (index str.length){ans.add(String.valueOf(str));}else{for (int i index;i str.length;i){//因为每个字符都要选,我们只是选择顺序,因此交换下顺序,swap(str,i, index);//然后递归process(str,index 1,ans);//要把交换过的顺序 恢复回去,这样才能保证递归出全部顺序.swap(str,i,index);}}}打印一个字符串的全部排列要求不要出现重复的排列 解题思路: 我们可以按上面的代码去做,只需要用HashSet 去保存答案,就会去重了,但这样并没有优化效率,在递归时去掉可能会重复的值,这样才能把效率优化下来, 怎样优化呢: 两个相同的字符,如果已经有一个出现过在某个位置,那么剩下相同的字符也不用重复交换了,这样会提高效率 根据上面的思路,我们只需要加个判断, 因为字符转换成数字的值在0-255 ,因此用长度256 的数组就可以标记了,代码演示, 代码演示, /*** 打印一个字符串的全部排列要求不要出现重复的排列* param str* return*/public static ListString allSubSequence2(String str){if (str null || str.equals()){return null;}ArrayListString ans new ArrayList();process2(str.toCharArray(),0,ans);return ans;}/*** 递归* param str* param index* param ans*/public static void process2(char[]str, int index, ListString ans){if (index str.length){ans.add(String.valueOf(str));}else{//标记相同的字符是否交换过,boolean[] flag new boolean[256];for (int i index;i str.length;i){if (!flag[str[i]]){flag[str[i]] true;swap(str,i, index);process(str,index 1,ans);swap(str,i,index);}}}} 递归专题 递归–字符串的全部子序列和不重复的子序列java 递归–汉诺塔问题(java)
http://www.hkea.cn/news/14586903/

相关文章:

  • 大气学校网站安装wordpress用什么
  • 织梦门户网站源码下载移动电商网站建设
  • 成都私人视频网站制作平台网站建设高端
  • 免费网站制作网站源码如何在网站上推广自己的链接
  • js模板网站邯郸怎么读
  • 免费云服务器网站有哪些搜索引擎推广网站
  • 网站的困难免费模板做网站
  • 农村pc网站开发wordpress页面突然不能访问
  • 郑州网站建设项目网站开发vue版本是什么
  • 企业制作网站哪家好网页传奇3
  • 广州 做网站开发微信商城平台
  • 网站 搭建 亚洲服务器自己怎么注册域名
  • 网页制作一个网站八个页面咋做高端定制网站公司哪家好
  • 做外贸需要做网站吗国内免费建网站
  • 自己做的网站用在博客上营销型网站建设哪家好
  • 重庆建设局网站博客 软件 wordpress
  • 南昌seo网站设计ps软件免费下载安装
  • 九江县网站建设wordpress 显示页码
  • 哪里有培训网站开发为什么网站打不开
  • 广东做网站的公司有哪些西安煤炭建设监理中心网站
  • 嘉兴做网站的哪家好wordpress 添加导航菜单
  • 网站如何推广好WordPress微信密码
  • 沈阳网站设计营销型请人做网站注意事项
  • 桂林网站制作哪家好信息流广告投放平台
  • 手机网站制作解决方案如何把网站建设成营销型网站
  • 建设一个招聘网站wordpress客户表单数据库
  • 台州电子商务网站建设网站怎么做联系我们页面
  • 网站后台页面win10 wordpress
  • 薇诺娜经常在那个网站做特价慈溪想做网站的公司
  • 网站如何提高流量php响应式个人博客网站设计