• leetcode-每日一题-自定义字符串排序-791(中等,字符串应用)


    这道题我用的hash思想做的,其实很多类似的题用hash思想都很好做,但是很浪费空间,这道题我时间复杂度直接0s,超越所有c的提交者,但是空间就会浪费很多,因为hash就是一个地址的计算,所以要开辟所有的地址故空间会大大折减

    给定两个字符串 order 和 s 。order 的所有单词都是 唯一 的,并且以前按照一些自定义的顺序排序。

    对 s 的字符进行置换,使其与排序的 order 相匹配。更具体地说,如果在 order 中的字符 x 出现字符 y 之前,那么在排列后的字符串中, x 也应该出现在 y 之前。

    返回 满足这个性质的 s 的任意排列 。

     

    示例 1:

    输入: order = "cba", s = "abcd"
    输出: "cbad"
    解释: 
    “a”、“b”、“c”是按顺序出现的,所以“a”、“b”、“c”的顺序应该是“c”、“b”、“a”。
    因为“d”不是按顺序出现的,所以它可以在返回的字符串中的任何位置。“dcba”、“cdba”、“cbda”也是有效的输出。
    示例 2:

    输入: order = "cbafg", s = "abcd"
    输出: "cbad"
     

    提示:

    1 <= order.length <= 26
    1 <= s.length <= 200
    order 和 s 由小写英文字母组成
    order 中的所有字符都 不同

    1. int length(char *str)
    2. {
    3. int i=0;
    4. while(str[i]!='\0')
    5. {
    6. i++;
    7. }
    8. return i;
    9. }
    10. char * customSortString(char * order, char * s){
    11. int i,j,k=0,flag[200],len_order,len_s;
    12. len_order=length(order);
    13. len_s=length(s);
    14. //char *str=(char*)malloc(sizeof(char)*len_s);
    15. char str[205];
    16. printf("%d %d\n",len_order,len_s);
    17. memset(flag,0,sizeof(flag));
    18. for(i=0;i
    19. {
    20. str[i]='\0';
    21. }
    22. for(i=0;i
    23. {
    24. for(j=0;j
    25. {
    26. if(order[i]==s[j]&&flag[j]==0)
    27. {
    28. flag[j]=1;
    29. str[k]=order[i];
    30. k++;
    31. }
    32. }
    33. }
    34. for(i=0;i
    35. {
    36. if(flag[i]==0)
    37. {
    38. str[k]=s[i];
    39. k++;
    40. }
    41. }
    42. for(i=0;i
    43. {
    44. s[i]=str[i];
    45. }
    46. return s;
    47. }

     至于最后为什么交s而不是直接交str,我直接交str返回的值显示是null所以就只能这样交了,具体原因现在无从得知,反正很大概率是leetcode底层判断的缘由

     

  • 相关阅读:
    【Proteus仿真】【STM32单片机】大棚远程监测控制
    Java源码分析(一)Integer
    第一本Docker书,带你走进微服务架构的奇妙世界!手撕面试官
    力扣(LeetCode)792. 匹配子序列的单词数(C++)
    Python 中 sys.argv 用法详解
    读写分离MySQL
    vscode 向下复制当前行(即visual studio 中的Ctrl + D)功能快捷键
    CSS技能点--带图标的标题栏
    RabbitMQ【直连、主题、扇形交换机实战】
    【智能AI相机】基于AI的新型成像和照明技术
  • 原文地址:https://blog.csdn.net/qq_59002046/article/details/127838962