文章详情页
java - 请问这种排列算法的难度在什么水平?
浏览:69日期:2024-02-07 11:53:09
问题描述
https://segmentfault.com/q/10... 这个问题中有四种对4位整型数组进行排列组合的算法,一个一个按照运行顺序写下来觉得很有意思,我肯定直接写不出来,想问一下算法界的大神们,这种算法大概是什么水平的?如果是很简单的那种,我大概真的要去补一下了...另外,除了死记硬背,这么刁钻的设计是怎么想出来的...
问题解答
回答1:全排列的过程可以当成树的遍历过程,每个叶子节点就是一种排列,只不过要注意的是每个子树的边不能和父节点的边重复。 树的遍历过程好办,或递归或用栈或队列甚至另外设置个保存状态的数组都行,子树的边不能和父节点边重复的问题也好办,遍历子树的时候只遍历available的,并且遍历后做标记就可以了。 我觉得这个问题转换成树就好办了,实现各种各样都可以吧。
标签:
java
相关文章:
1. 一个走错路的23岁傻小子的提问2. angular.js - angularjs 使用鼠标悬停时,标签一直闪3. c++ - win764位环境下,我用GCC为什么指针占8个字节,而long是4个字节?4. html5 - HTML代码中的文字乱码是怎么回事?5. java - 安卓电视盒子取得了root权限但是不能安装第三方应用,请问该怎么办?6. javascript - SuperSlide.js火狐不兼容怎么回事呢7. android - 安卓activity无法填充屏幕8. python 计算两个时间相差的分钟数,超过一天时计算不对9. python - django 里自定义的 login 方法,如何使用 login_required()10. node.js - 函数getByName()中如何使得co执行完后才return
排行榜
