[Algorithm] Print All Subsets of a Set
Let's say given a number of array, you should print out, all the subet of this array.
Example: [1, 2]
Output:
> ""
> 1
> 2
> 1,2
The number of subset should be 2^n...
function print_set(subset) { if (subset.length === 0) { console.log('empty'); } console.log(subset.filter(Boolean).join(',')); } function all_subsets(given_array) { function helper(given_array, subset, i) { if (given_array.length === 0) { print_set([]); } if (i === given_array.length) { print_set(subset); return; } // in case of not include the current item subset[i] = null console.log(`set i: ${i} to null`); helper(given_array, subset, i + 1); // in case of inlcude the current item subset[i] = given_array[i] console.log(`set i: ${i} to ${given_array[i]}`); helper(given_array, subset, i + 1) } let subset = new Array(given_array.length); helper(given_array, subset, 0); } const data = [1, 2]; all_subsets(data); /** set i: 0 to null set i: 1 to null "" set i: 1 to 2 2 set i: 0 to 1 set i: 1 to null 1 set i: 1 to 2 1 */
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
2017-03-10 [Angular] Export directive functionalities by using 'exportAs'
2017-03-10 [Postgres] Group and Aggregate Data in Postgres
2017-03-10 [Ramda] Create a Query String from an Object using Ramda's toPairs function
2017-03-10 [Ramda] Filter an Array Based on Multiple Predicates with Ramda's allPass Function
2016-03-10 [RxJS] Reactive Programming - Using cached network data with RxJS -- withLatestFrom()