• “黑神话·悟空”免安装在线玩,无视显卡等硬件要求!!
  • √ 游戏免下载安装 √ 5分钟随开随玩 √ 关机不计费!低至¥14.90/月!
🔥进入竞技-直面天命🔥

给定一个字符串s和一个包含n个字符串的数组strs,按照以下规则对数组进行排序: 规则1:首先,将字符串数组中的每个字符串都按照以下方式进行变换:将字符串中的每个字符替换为该字符在字符串s中出现的次数,并将这些数字连接起来得到一个新的字符串。例如,如果s是"apple",而字符串"plap"变换后会成为"2112" 规则2:对经过规则1变换后的字符串按照字典序从小到大进行排序,并返回结果 请编写一个程序来执行上述排序规则 java语言; 示例: 输入: plap,aple,elpa,pale 输出:el

时间2023-09-12 16:38:14 提问来自 浙江省杭州市 的网友 分类创作 浏览206
解析:首先需要实现一个方法,将字符串中的每个字符替换为该字符在字符串s中出现的次数,并将这些数字连接起来得到一个新的字符串。然后对经过规则1变换后的字符串按照字典序从小到大进行排序,并返回结果。 代码如下: ```java import java.util.Arrays; import java.util.Comparator; public class Main { public static void main(String[] args) { String s = "apple"; String[] strs = {"plap", "aple", "elpa", "pale"}; System.out.println(sortByRules(s, strs)); } public static String sortByRules(String s, String[] strs) { for (String str : strs) { str = transform(str, s); } Arrays.sort(strs, new Comparator<String>() { @Override public int compare(String o1, String o2) { return o1.compareTo(o2); } }); return String.join("", strs); } public static String transform(String str, String s) { StringBuilder sb = new StringBuilder(); for (char c : str.toCharArray()) { sb.append(s.indexOf(c)); } return sb.toString(); } } ``` 输入:plap, aple, elpa, pale 输出:el

点击这里,进行内容创作

创作工场 免责声明:
以上内容除特别注明外均来源于网友提问,创作工场回答,未经许可,严谨转载。
点击这里>>使用🔥专业版,更聪明、更完整、更原创!

上一篇 强国复兴有我总结 下一篇 高技术在军事上的应用