疑问求解答,求路过

adobe2000 2013-07-13 08:48:15
我们要给每个字母配一个1-26之间的整数,具体怎么分配由你决定,但不同字母的完美度不同, 而一个字符串的完美度等于它里面所有字母的完美度之和,且不在乎字母大小写,也就是说字母F和f的完美度是一样的。 现在给定一个字符串,输出它的最大可能的完美度。 例如:dad,你可以将26分配给d,25分配给a,这样整个字符串最大可能的完美度为77。 java public static int perfect(String s);

下面是我写的方法,不知道哪里错了,跪求指点

public class Test {

public static void main(String[] args) {
String str = "dda";
System.out.println(perfect(str));
}

public static int[][] sortArray(int[][] sortArray) {
int[][] array = sortArray;
int length = array.length;
int value = 0;
for (int i = 0; i < length; i++) {
for (int j = 0; j < length - i - 1; j++) {
if (array[j][0] < array[j + 1][0]) {
value = array[j][0];
array[j][0] = array[j + 1][0];
array[j + 1][0] = value;
}
}
}
return array;
}

public static int perfect(String s) {
String str = s.toLowerCase();
int result = 0;
int length = str.length();
int[][] str_info = new int[26][1];
int[] assign_value = new int[length];
for (int i = 0; i < length; i++) {
char letter = str.charAt(i);
if(((int)letter>=97)&&((int)letter<=122)){
int num = (int) (letter - 97);
str_info[num][0]++;
}
assign_value[i] = (26 - i);
}
sortArray(str_info);
for (int i = 0; i < length; i++) {
if(str_info[i][0]!=0){
result += str_info[i][0] * assign_value[i];
}
}
return result;
}

}
...全文
248 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
shy315 2013-07-13
  • 打赏
  • 举报
回复
初始化数组长度26,每个数字代表一个字母出现次数,可以用小写字母ascii减'a'的ascii作为下标, 遍历字符串, 数组由大到小排序, 遍历数组,从大到小分别乘26到1,最后求和。
adobe2000 2013-07-13
  • 打赏
  • 举报
回复
引用 4 楼 rencht 的回复:
没仔细看代码,但是跑了两把都是OK的, LZ给个错误的输入看看呢
我也觉得没错,但网上提交的后没有通过,所有我就纠结了
rencht 2013-07-13
  • 打赏
  • 举报
回复
没仔细看代码,但是跑了两把都是OK的, LZ给个错误的输入看看呢
adobe2000 2013-07-13
  • 打赏
  • 举报
回复
http://hero.pongo.cn/Question/Details?ID=71&ExamID=69 这个是网上那道题的地址,老纠结了~
adobe2000 2013-07-13
  • 打赏
  • 举报
回复
引用 1 楼 tlfu_12344 的回复:
自己调试下不就知道了嘛
我测试的是通过的,网上的一道题,我提交发现错了,不知道错在什么地方
花木兰1闪21A 2013-07-13
  • 打赏
  • 举报
回复
自己调试下不就知道了嘛
内容概要:本文围绕“面向高精度电流控制的PMSM多参数PSO辨识模型研究”,系统阐述了基于Simulink的永磁同步电机(PMSM)多参数辨识方法,重点采用粒子群优化算法(PSO)实现对电机关键内部参数的高精度辨识。研究构建了完整的PMSM控制系统仿真模型,结合智能优化算法,解决了传统参数辨识中精度低、收敛慢的问题,有效提升了电流环控制的动态性能与稳态精度。该方法特别适用于对控制精度和响应速度要较高的工业应用场景,如高性能伺服系统、电动汽车驱动系统等,具有较强的工程实用价值和科研参考意义。文中提供了完整的Simulink仿真模型与配套代码,确保了研究内容的可复现性和实践操作性。; 适合人群:具备电机控制、自动化或电气工程等相关专业背景,熟悉MATLAB/Simulink仿真环境,从事电机驱动系统研发、控制算法设计或相关领域科研工作的工程师及研究生,尤其适合工作1-5年、希望深入理解先进参数辨识技术的研发人员。; 使用场景及目标:①开展高精度PMSM控制系统的设计与参数辨识研究;②学习并掌握PSO等智能优化算法在电机系统参数辨识中的具体实现与调优技巧;③完成学术论文复现、科研项目验证、毕业设计或工程原型开发,提升对现代电机控制核心技术的理解与应用能力。; 阅读建议:建议读者结合提供的Simulink模型与源代码进行动手实践,按照文档逻辑逐步搭建与调试仿真系统,重点关注PSO算法与电机模型的交互机制、目标函数设计及参数收敛过程,通过对比不同工况下的辨识结果,深入理解算法性能与控制精度之间的内在联系。

62,622

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧