java如何对字符串中的字符进行对角排序
我把一根绳子按长度的平方数分开
String alphabet = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
int a = alphabet.length();
int b = (int)Math.round(Math.sqrt(a));
System.out.println(java.util.Arrays.toString(splitter(key, b)));
// prints: [ABCDE, FGHIJ, KLMNO, PQRST, UVWXY, Z]
拆分器功能:
public static String[] splitter(String s, int len) {
return s.split(String.format("(?<=\\G.{%1$d})", len));
}
我现在想把它按对角线排序如下:
[0] = {A,B,D,G,K}
[1] = {C,E,H,L,P}
[2] = {F,I,M,Q,U}
[3] = {J,N,R,V,Y}
[4] = {O,S,W,Z,0}
[5] = {T,X,0,0,0}
我试图通过检查always if(I-1)>;来解决一些循环问题我但我在这里迷茫了
# 1 楼答案
下面是我创建的解决方案
NUL
字符值的二维result
数组李>这将产生以下输出:
# 2 楼答案
不要拆分,然后尝试在矩阵中排序。对数组排序,按对角线模式交叉矩阵,将排序的项放入矩阵,合并字符串
现在你要做的就是找到一种方法,在矩阵上对角迭代