首页 > 其他分享 >139-Word Break

139-Word Break

时间:2024-05-23 22:18:00浏览次数:19  
标签:word string int return Break wordDict Word 139 hash

问题描述

Given a string s and a dictionary of strings wordDict, return true if s can be segmented into a space-separated sequence of one or more dictionary words.

Note that the same word in the dictionary may be reused multiple times in the segmentation.

解释:

给定一个字符串s,一个字符串构成的字典wordDict, 问 能否有wordDict若干个word构成s

基本思想

穷举法

wordDict中假设有\(n\)个词,s从第一个词开始找wordDict中的词进行核对, 核对完毕之后,进行标记(dfs)。找到第一个词之后,接着找第二个词,wordDict中的所有词构成候选项(为了防止一个词重复出现多次)。只要有一条路径能遍历完s,那么就说明 wordDict中存在着可以构成s的词语。

穷举代码

C++

    bool isOk(string &s, int& i, string& t) {
        int j=0;
        while(i<s.size() && j<t.size() && s[i] == t[j]) {
            ++i;
            ++j;
        }
        if (j==t.size()) return true;
        return false;
    }
     bool dfs(string&s, int low, map<char, vector<string>>&hash) {
        if (low >= s.size()) return true;
        auto it = hash.find(s[low]);
        if (it==hash.end()) return false;
        vector<string> &vec = it->second;
        for(int i=0; i<vec.size();++i) {
            int temp = low;
            cout<<vec[i]<<endl;
            if (!isOk(s,temp,vec[i])) continue;
            if (dfs(s,temp,hash)) return true;
        }
        return false;
    }

    bool wordBreak(string s, vector<string>& wordDict) {
        int n = s.size();
        if (n<=0) return true;
        map<char, vector<string>> hash;
        for(int i=0;i<wordDict.size();++i) {
            string& word = wordDict[i];
            if (word.size()<=0) continue;
            if (hash.find(word[0])==hash.end()) {
                vector<string> t;
                t.push_back(word);
                hash[word[0]] = t;
            } else {
                hash[word[0]].push_back(word);
            }
        }
        bool res = dfs(s,0,hash);
        
        return res;
    }

python

标签:word,string,int,return,Break,wordDict,Word,139,hash
From: https://www.cnblogs.com/douniwanli/p/18209482

相关文章

  • Viso的对象图形复制到word,发现图形画布底部有大量空白,如何解决
    1viso对象插入到wordVIso的图可以作为对象插入到word中,直接复制即可,复制后,可以在word中双击,关联到viso中,进行更改,很方便。正常情况下,在viso中做好图形后,直接复制到word中即可,在word中双击,关联到viso中。如下图:偶尔会存在一些格式比例大小的问题,导致对象下面很多空白,如下图:2......
  • elasticsearch使用Sort排序时Please use a keyword field instead.
    具体报错信息ElasticsearchStatusException[Elasticsearchexception[type=search_phase_execution_exception,reason=allshardsfailed]];nested:ElasticsearchException[Elasticsearchexception[type=illegal_argument_exception,reason=Textfieldsarenotoptimised......
  • Ubuntu 22.04 使用self-service-password搭建自主修改密码平台
    Ubuntu系统安装准备正常操作是安装成功系统,安装的时候设置好静态密码。参考官方文档:https://self-service-password.readthedocs.io/en/stable/installation.html根据文档提示安装会报错,网上查了些资料需要按照如下步骤安装依赖。正式安装vi/etc/apt/sources.list.d/ltb-p......
  • NPOI创建word文档,使用unicode写入打勾的小方框,word2021显示异常问题解决
    word2019查看NPOI创建的word中打勾方框,显示正常,但是word2021显示就变成下面这个样子了,应该是word2021对这个特殊字符的渲染导致的 想要普通的效果,白色背景黑边黑勾的效果,换一个字体可以解决 c# 代码XWPFDocumentdocument=newXWPFDocument();XWPFParagraphparagrap......
  • WordPress标签实现追加自定义链接
    WordPress标签的用处说多不多,说少不少,其中利用WordPress标签做聚合页面优化是一种搜索引擎很喜欢的方式,或者说很多搜索引擎相比正文页面而言更喜欢抓取和收录标签页面,其次对于WordPress标签的作用就是用于文章关键词调用以及文章内链。那么今天子凡我我将利用几行代码来实......
  • 提升WordPress网站加载速度的8个小技巧
    提升WordPress网站加载速度是至关重要的,它不仅可以提高用户体验,还有助于SEO排名。以下是提升WordPress网站加载速度的8个小技巧,希望能帮助到大家。优化图片:使用适当大小和格式的图片。利用插件(如Smush或EWWWImageOptimizer)对图片进行压缩。启用缓存:使用WordPress缓存......
  • .NET 8 使用官方OpenXml SDK,替换Word中的文字和图片
    安装好DocumentFormat.OpenXml后,准备好一个docx文件usingDocumentFormat.OpenXml.Drawing.Wordprocessing;usingDocumentFormat.OpenXml.Packaging;usingDocumentFormat.OpenXml.Wordprocessing;usingSystem.Text.RegularExpressions;usingA=DocumentFormat.OpenXm......
  • 使用poi向word中插入文字或图片
    参考自https://blog.csdn.net/weixin_50638065/article/details/133958393依赖包最下面的两个包肯定需要的,其他的有几个不需要的,自己试着删一下,用不了这么多<dependency><groupId>org.apache.poi</groupId><artifactId>poi</artifactId><version>5.2.2</v......
  • word替换快捷操作
    Sub替换词语()DimdocAsDocumentDimfindTextAsStringDimreplaceTextAsString'设置第一个要查找和替换的文本findText="机构管理"replaceText="部门管理"'获取当前活动文档Setdoc=ActiveDocument'开始第一个查找和替换......
  • 如何将word文档转成pdf?教你三个简单方法
    在日常的工作和学习中,我们经常使用Word文档来编写报告、论文、简历等各种文档。然而,在某些情况下,为了确保文档的格式和内容的稳定性,或者方便在不同设备或平台上查看,我们可能需要将Word文档转换为PDF文件。本文将为您详细介绍word文档怎么转pdf的几种方法。一、使用MicrosoftWord......