微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在输出末尾添加句点?动态安全协议

如何解决如何在输出末尾添加句点?动态安全协议

最近收到了一个 DSA 面试问题,如下:
Q1 - 给定 5 个元素,即 1,2,3,4,5 打印 _ _ _ [3 个空格] [简单排列问题] 的所有可能的唯一组合
Q1 的后续工作 - 现在呈现如下输出

<URI>

[注意最后一个符号必须是句号而不是逗号]

如何想出解决方案? 我被困在这

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) {
    StringBuilder stringBuilder = new StringBuilder();

    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
                    stringBuilder.append(i + " " + j + " " + k + ",");
                }
            }
        }
    }

    stringBuilder.delete(stringBuilder.lastIndexOf(","),stringBuilder.length());
    stringBuilder.append(".");
    System.out.print(stringBuilder.toString());
  }
}
,

一些谷歌搜索将帮助您研究该主题。这是我发现的一篇文章,可以帮助您完成任务。

https://www.baeldung.com/java-combinations-algorithm

还要注意单词组合与排列的数学含义。在排列中,顺序很重要。

即1,2,3 和 3,1 是两种不同的排列。但相同的组合。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。