counting-sort - 两个代码有何不同?,当运行 code1 给出 TLE 错误但第二个不给出 . 基于 0(n) 的解决方案
问题描述
两个代码有何不同?,当运行 code1 给出 TLE 错误但第二个不给出 . 基于 0(n) 的解决方案
代码1
public static String countSort(String arr)
{
int freq[] = new int[26];
char a[] = new char[arr.length()];
for(int i=0;i<arr.length();i++)
{
freq[arr.charAt(i)-'a']++;
}
for(int i=1;i<26;i++)
freq[i]+=freq[i-1];
String ans="";
for(int i=arr.length()-1;i>=0;i--)
{
a[freq[arr.charAt(i)-'a']-1] = arr.charAt(i);
freq[arr.charAt(i)-'a']=freq[arr.charAt(i)-'a']-1;
}
for(int i=0;i<a.length;i++)
{
ans+=a[i];
}
return ans;
}
代码 2
public static String countSort(String arr)
{
int freq[] = new int[26];
char a[] = new char[arr.length()];
for(int i=0;i<arr.length();i++)
{
freq[arr.charAt(i)-'a']++;
}
for(int i=1;i<26;i++)
freq[i]+=freq[i-1];
String ans="";
for(int i=arr.length()-1;i>=0;i--)
{
a[freq[arr.charAt(i)-'a']-1] = arr.charAt(i);
freq[arr.charAt(i)-'a']=freq[arr.charAt(i)-'a']-1;
}
return new String(a);
}
预期时间复杂度:O(N)。预期辅助空间:O(N)。
解决方案
推荐阅读
- php - 如何将 PHP 表单提交发送到我的 gmail?
- ruby-on-rails - 使用 Passenger 和 Apache 部署 Ruby on Rails 应用程序
- html - 通过电子邮件发送 Excel 表格时保留单元格注释(使用 RangeToHTML)
- android - React Native FlatList Grid 自定义视图
- java - HTTP 状态 404 – 应用程序运行时未找到
- prometheus - 如何在 Prometheus 中仅远程写入所有抓取指标的子集?
- python - 在 Python 中在其他元素之上创建一个 Tkinter 元素
- google-app-engine - 在 CloudSQL 上恢复已删除的数据库
- python - Python制作没有numpy,pandas的csv特定行的表格图表
- python - 有没有办法将 NaN 的元素设置为 0?