两个代码如何彼此不同?,当运行 code1 给出 TLE 错误但第二个没有给出 .基于 0(n) 的解决方案

问题描述

两者的代码有何不同?,当运行 code1 给出 TLE 错误但第二个没有给出 .均基于 0(n) 的解决方

code1

 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)。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)