java - 如何在输出末尾添加句点?动态搜索广告
问题描述
最近收到一个 DSA 面试问题,如下所示:
Q1 - 给定 5 个元素,即 1,2,3,4,5 打印 _ _ [3 个空格] [简单排列问题]
Q1 的所有可能的唯一组合 -现在输出如下
1 2 3 , 1 2 4 , 1 2 5 , 1 3 2 , 1 3 4 , 1 3 5 , 1 4 2 , 1 4 3 , 1 4 5 , 1 5 2 , 1 5 3 , 1 5 4 , 2 1 3 , 2 1 4 , 2 1 5 , 2 3 1 , 2 3 4 , 2 3 5 , 2 4 1 , 2 4 3 , 2 4 5 , 2 5 1 , 2 5 3 , 2 5 4 , 3 1 2 , 3 1 4 , 3 1 5 , 3 2 1 , 3 2 4 , 3 2 5 , 3 4 1 , 3 4 2 , 3 4 5 , 3 5 1 , 3 5 2 , 3 5 4 , 4 1 2 , 4 1 3 , 4 1 5 , 4 2 1 , 4 2 3 , 4 2 5 , 4 3 1 , 4 3 2 , 4 3 5 , 4 5 1 , 4 5 2 , 4 5 3 , 5 1 2 , 5 1 3 , 5 1 4 , 5 2 1 , 5 2 3 , 5 2 4 , 5 3 1 , 5 3 2 , 5 3 4 , 5 4 1 , 5 4 2 , 5 4 3 .
[注意最后一个符号必须是句号而不是逗号]
如何提出解决方案?我被困在这个
class Main {
public static void main(String args[]) {
for(int i = 1 ; i<6 ; i++){
for(int j = 1 ; j<6 ; j++){
for(int k = 1 ; k<6 ; k++){
if( !(i == j || i == k || j==k )){ // No repetition allowed
System.out.print(i+" "+j+" "+k+" , ");
}
}
}
}
}
}
此外,对新的或不同的解决方案持开放态度,但非常好奇是否有办法解决我提供的现有代码的问题。
解决方案
一些谷歌搜索将帮助您研究该主题。这是我发现的一篇文章,可以帮助您完成任务。
https://www.baeldung.com/java-combinations-algorithm
还要注意单词组合与排列的数学含义。在排列中,顺序确实很重要。
即 1,2,3 和 3,2,1 是两个不同的排列。但同样的组合。
推荐阅读
- php - 如何使用 VichUploaderBundle 渲染输入?
- python - loc 是否比向后循环查找数据帧中的第一个匹配项更快?
- python - Python中的异步函数或线程
- csv - 大型csv文件的Python重置循环
- c++ - 为什么我的 std::filesystem-using SO 会暴露 std::filesystem 符号?
- php - 我需要知道哪个更好?使用 session 或 auth()->user()->property
- c# - 敌人 AI 在一定距离内阻止敌人
- sql - SQL Server - 生成 MAX - MIN = 参数的 6 个浮点值
- laravel - Laravel 显示三个有关系的表,一个表连接另外两个表
- npm - SerialPortIO 电子