随笔分类 -  算法

编程问题解决套路和思考
摘要:问题描述 给定一个任意数组,如何获得数组的全排列,例如[1,2,3]的全排列数组为[[1,2,3],[1,3,2],[2,1,3],[2,3,1],[3,2,1],[3,1,2]],即包含所有排列结果的长度为 \(A_{n}^{n}\) 的数组。 算法 function permute(arr) { 阅读全文
posted @ 2023-09-17 17:07 unuliha 阅读(175) 评论(0) 推荐(0)
摘要:一、 i & (1<<j) 1<<j表示二进制表示的1(即0001)的所有位向左平移j个单位后的数,如j=1,则平移后的结果是0010,此时得到数2。若j=3,平移后的结果是1000,此时得到数8。向左平移j位,即表示将原来的数乘上2^j。可以类比十进制,所有位左移j位,相当于在后面添了j个0,即乘 阅读全文
posted @ 2021-10-20 15:30 unuliha 阅读(6154) 评论(1) 推荐(1)