• 关于变位词的一点总结和思考


    (1)《编程珠玑》中提到的一个问题:给定一个英文字典,找出其中的所有变位词集合。例如,“pots”、“stop”、“tops”互为变位词,因为每一个单词都可以通过改变其他单词中的字母的顺序来得到。

    解答:

    编程珠玑:sign对每一个单词排序,得到标识--->sort对标识排序--->squash输出结果

    我自己的想法:sign--->hash处理,每一个标识对应一个hash插槽--->输出结果

    (2)《剑指OFFER》中:给定两个单词,如何判断它们是不是变为词?

    解答:

    ACM解答:使用sort系统调用将两个单词分别按字母顺序排序,然后再用系统调用strcmp比较,如果为0则是变位词

    《剑指OFFER》的:创建一个数组实现简单哈希表,统计字符串中每个字符出现的次数:先扫描第一个字符串,然后在哈希表中统计对应的项+1,接下来扫描第二个字符串,没扫描到一个字符,在哈希表中对应的项-1,如果扫描完第二个字符串后,哈希表中的所有的值为0,那么这两个字符串就互为变位词。

  • 相关阅读:
    python命令行参数处理
    linux进程管理
    hadoop
    linux进程间通信之信号
    HA for openstack
    ubutun 安装php7.1x
    php 函数小技巧(一)
    git error: RPC failed; result=56, HTTP code = 200
    php面试题汇总四(基础篇附答案)
    php面试题汇总三(基础篇附答案)
  • 原文地址:https://www.cnblogs.com/javaadu/p/11742646.html
Copyright © 2020-2023  润新知