524. Longest Word in Dictionary through Deleting

本文介绍了一个C++实现的算法,该算法用于从给定字符串中找出字典中最长的单词。如果存在多个相同长度的单词,则返回字典序最小的一个。此算法通过遍历字典并比较每个单词与目标字符串来确定是否为有效单词。
class Solution {
public:
    string findLongestWord(string s, vector<string>& d) {
        string str={};
        if(s.empty() || d.empty()){
            return str;
        }

        for(int i=0; i<d.size(); i++){
            int index = 0, dir = 0;
            while(index<s.size() && dir<d[i].size()){
                if(s[index] == d[i][dir]){
                    dir++;
                }
                index++;
            }
            if(dir == d[i].size()){
                if(str.size() == d[i].size() && str>d[i]){ //str>d[i]  怎么比大小
                    str = d[i];
                }
                str = str.size()<d[i].size() ? d[i] : str;
            }
        }
        return str;
        
    }
};

返回的错误为Trying: longest_word(['cat','dog','bird']) Expecting: 'bird' ********************************************************************** File "e:\Learn AI-Assisted Python Programming,Second Edition translation\code6.3.py", line 7, in __main__.longest_word Failed example: longest_word(['cat','dog','bird']) Expected: 'bird' Got: 'bird' Trying: longest_word(['happy','birthday','my','cat']) Expecting: 'birthday' ********************************************************************** File "e:\Learn AI-Assisted Python Programming,Second Edition translation\code6.3.py", line 9, in __main__.longest_word Failed example: longest_word(['happy','birthday','my','cat']) Expected: 'birthday' Got: 'birthday' Trying: longest_word(['happy']) Expecting: 'happy' ********************************************************************** File "e:\Learn AI-Assisted Python Programming,Second Edition translation\code6.3.py", line 11, in __main__.longest_word Failed example: longest_word(['happy']) Expected: 'happy' Got: 'happy' Trying: longest_word(['cat','dog','me']) Expecting: 'cat' ********************************************************************** File "e:\Learn AI-Assisted Python Programming,Second Edition translation\code6.3.py", line 13, in __main__.longest_word Failed example: longest_word(['cat','dog','me']) Expected: 'cat' Got: 'cat' Trying: longest_word(['','']) Expecting: '' ********************************************************************** File "e:\Learn AI-Assisted Python Programming,Second Edition translation\code6.3.py", line 15, in __main__.longest_word Failed example: longest_word(['','']) Expected: '' Got: '' 1 items had no tests: __main__ ********************************************************************** 1 items had failures: 5 of 5 in __main__.longest_word 5 tests in 2 items. 0 passed and 5 failed. ***Test Failed*** 5 failures.
最新发布
08-17
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值