zoukankan      html  css  js  c++  java
  • 745. Prefix and Suffix Search 查找最大index的单词

    [抄题]:

    Given many wordswords[i] has weight i.

    Design a class WordFilter that supports one function, WordFilter.f(String prefix, String suffix). It will return the word with given prefix and suffix with maximum weight. If no word exists, return -1.

    Examples:

    Input:
    WordFilter(["apple"])
    WordFilter.f("a", "e") // returns 0
    WordFilter.f("b", "") // returns -1

     [暴力解法]:

    时间分析:

    空间分析:

     [优化后]:

    时间分析:

    空间分析:

    [奇葩输出条件]:

    [奇葩corner case]:

    [思维问题]:

    [英文数据结构或算法,为什么不用别的数据结构或算法]:

    为了获得最大的index,从最后一位开始倒数。特别注意是n - 1 到>=0

    [一句话思路]:

    不需要用别的数据结构 用自己这个数组来实现就行

    [输入量]:空: 正常情况:特大:特小:程序里处理到的特殊情况:异常情况(不合法不合理的输入):

    [画图]:

    [一刷]:

    [二刷]:

    [三刷]:

    [四刷]:

    [五刷]:

      [五分钟肉眼debug的结果]:

    [总结]:

    不需要用别的数据结构 用自己这个数组来实现就行

    [复杂度]:Time complexity: O(数组长度n*最长单词数l) Space complexity: O(1)

    [算法思想:迭代/递归/分治/贪心]:

    [关键模板化代码]:

    [其他解法]:

    [Follow Up]:

    class WordFilter {
        String[] input;
        public WordFilter(String[] words) {
            input = words;
        }
        public int f(String prefix, String suffix) {
            for(int i = input.length-1; i >= 0; i--){
                if(input[i].startsWith(prefix) && input[i].endsWith(suffix)) return i;
            }
            return -1;
        }
    }
    View Code

    [LC给出的题目变变变]:

     [代码风格] :

     [是否头一次写此类driver funcion的代码] :

  • 相关阅读:
    webstorm配置github 以及本地代码上传github。
    日期控件------moment.js
    图片查看器
    日期
    配置一个node服务器
    git代码管理
    vue
    javascript (字符串, 数组, 对象 , 日期 和 操作元素节点 动画 定时器)
    html css
    JS常用方法
  • 原文地址:https://www.cnblogs.com/immiao0319/p/9143683.html
Copyright © 2011-2022 走看看