数组中两个字符串的最小距离

来源:互联网 发布:java短链接 编辑:程序博客网 时间:2024/05/21 08:37
public int getDistance(String[] article, int n, String x, String y) {        int xPos = -1;        int yPos = -1;        int ans = Integer.MAX_VALUE;        for (int i = 0; i < article.length; i++) {            if (x.equals(article[i])) {                xPos = i;                if (yPos != -1) {                    ans = Math.min(ans, Math.abs(xPos - yPos));                }            }            if (y.equals(article[i])) {                yPos = i;                if (xPos != -1) {                    ans = Math.min(ans, Math.abs(xPos - yPos));                }            }        }        return ans;    }

一般人想不到的进阶问题

问:如果查询的次数很多,如何把每次的查询的时间复杂度降为O(1)?
简答:使用内哈希表(哈希套哈希)。

0 0