精华内容
下载资源
问答
  • varchar2 1~4000字节 可变长度字符串,与CHAR类型相比,使用VARCHAR2可以节省磁盘空间,但查询效率没有char类型高 数值类型 Number(m,n) m(1~38) n(-84~127) 可以存储正数、负数、零、定点数和精度为38位的浮点数...
  • 替换成缺失的字母,这个字符串以后的’?’用任意字母填充完就可以输出。这样做的复杂度是O(26*26*|s|) 可以优化成O(|s|),原理是用一个计数器counter,先统计第一个26长度字符串字母的出现情

    Codeforces Round #372 (Div. 2)B. Complete the Word
    解决很简单,直接枚举每一个26长度的字串看符不符合就行了,符合的话先把这个子字符串’?’替换成缺失的字母,这个字符串以后的’?’用任意字母填充完就可以输出。这样做的复杂度是O(26*26*|s|)
    可以优化成O(|s|),原理是用一个计数器counter,先统计第一个26长度的字符串字母的出现情况,然后从第一个26长度的字符串开始往后移一个字符,把第一个字符代表的字母减一(如果减为零counter减一),如果是问号的话counte也减一,然后把新加进来的字母加一(如果是一的话counter加一),如果是问号的话counte也加一,然后检查counter是否为26就可以了,26的话就填充输出。

    先贴没有优化过的代码

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    const int maxn = 50050;
    char s[maxn];
    int a[26];
    int main()
    {
        scanf("%s",s);
        int len = strlen(s);    
        int ok = 0;
        for(int i=0;i<len;++i){     
            for(int j=0;j<26;++j)a[j] = -1;
    
            int letter = 0,q = 0;
            for(int j=i;j<i+26;++j){
                if(s[j]=='?')++q;
                else{
                    if(a[ s[j]-'A' ] == -1){
                        a[s[j]-'A'] = j;
                        ++letter;
                    }
                    else break;
                }
            }
            if(letter + q == 26){
                for(int j=i;j<i+26;++j){
                    if(s[j]=='?'){
                        for(int k=0;k<26;++k){
                            if(a[k] == -1){
                                a[k] = j;
                                s[j] = k + 'A';
                                break;
                            }
                        }
                    }
                }
                ok = 1;
                break;
            }
        }
    
        if(ok){
            for(int i=0;i<len;++i)if(s[i]=='?')s[i]='A';
            printf("%s\n",s);
        }else printf("-1\n");
    
        return 0;
    }

    优化为O(|s|)的版

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    using namespace std;
    const int maxn = 50050;
    char s[maxn];
    int cnt[26],len;
    void fulfill(int pos){
        int x = 0;
        while(cnt[x]>0)x++;
        for(int i=pos;i<pos+26;++i){
            if(s[i]=='?'){
                s[i] = 'A' + x;
                x++;
                while(cnt[x]>0)x++;
            }
        }
        for(int i=0;i<len;++i)if(s[i]=='?')s[i]='A';
    }
    int main()
    {
        scanf("%s",s);
        len = strlen(s);
        if(len<26){ printf("-1\n");return 0;}   
    
        memset(cnt,0,sizeof(cnt));
        int counter = 0;
        for(int i=0;i<26;++i){      
            if(s[i]=='?'){++counter;continue;}
            else {
                cnt[s[i]-'A']++;
                if(cnt[s[i]-'A']==1)++counter;
            }
        }
        if(counter==26){
            fulfill(0);
            printf("%s\n",s);
            return 0;
        }
        for(int i=26;i<len;++i){
            if(s[i-26]=='?')--counter;
            else{
                cnt[s[i-26]-'A']--;
                if(cnt[s[i-26]-'A']==0)--counter;
            }
            if(s[i]=='?')++counter;
            else{
                cnt[s[i]-'A']++;
                if(cnt[s[i]-'A']==1)++counter;
            }
            if(counter==26){
                fulfill(i-25);
                printf("%s\n",s);
                return 0;
            }
        }   
        printf("-1\n"); 
        return 0;
    }
    展开全文
  • 评估采用的测试文本有253 3709行,共2837 4490个字符 评估结果位于target/evaluation目录下: corpus-text.txt为分好词的人工标注文本,词之间以空格分隔 test-text.txt为测试文本,是把corpus-text.txt以标点符号...
  • 给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。 示例: 输入: “sea”, “eat” 输出: 2 解释: 第一步将"sea"变为"ea",第二步将"eat"变为...

    题目

    给定两个单词 word1 和 word2,找到使得 word1 和 word2 相同所需的最小步数,每步可以删除任意一个字符串中的一个字符。

    示例:

    输入: "sea", "eat"
    输出: 2
    解释: 第一步将"sea"变为"ea",第二步将"eat"变为"ea"
    

    提示:

    给定单词的长度不超过500。
    给定单词中的字符只含有小写字母。
    

    解题思路

    仿照编辑距离,没有替换只有删除,故新的状态只和2个word任一去掉最末字符的状态有关

    成绩

    时间>20.22%
    空间>5.88%

    代码

    class Solution:
        def minDistance(self, word1: str, word2: str) -> int:
            dp = [[i for i in range(j, j + len(word1) + 1)] for j in range(len(word2) + 1)]
            for i in range(1, len(word2) + 1):
                for j in range(1, len(word1) + 1):
                    if word1[j - 1] == word2[i - 1]:
                        dp[i][j] = dp[i - 1][j - 1]
                    else:
                        dp[i][j] = min(dp[i - 1][j] + 1, dp[i][j - 1] + 1)
            return dp[-1][-1]
    
    展开全文
  • JAVA 正则表达式

    热门讨论 2010-01-15 11:16:37
    众所周知,在程序开发中,难免会遇到需要匹配、查找、替换、判断字符串的情况发生,而这些情况有时 又比较复杂,如果用纯编码方式解决,往往会浪费程序员的时间及精力。因此,学习及使用正则表达式, 便成了解决这...
  • 实例152 替换指定的字符串 实例153 向字符串中添加子字符串 实例154 截取字符串中的数字 实例155 将选定字符转换成大写 实例156 将选定字符转换成小写 实例157 截取指定位置的字符串 4.2 字符串的比较与判断 ...
  • 实例152 替换指定的字符串 实例153 向字符串中添加子字符串 实例154 截取字符串中的数字 实例155 将选定字符转换成大写 实例156 将选定字符转换成小写 实例157 截取指定位置的字符串 4.2 字符串的比较与判断 ...
  • 主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、数据结构与算法、Windows窗体基础、特色窗体界面、窗体控制技术、MDI窗体和继承窗体、Windows常用控件的使用、...
  • 主要内容有C#开发环境的使用、C#语言基础应用、字符串处理技术、数组和集合的使用、面向对象编程技术、数据结构与算法、Windows窗体基础、特色窗体界面、窗体控制技术、MDI窗体和继承窗体、Windows常用控件的使用、...
  • 实例085 使用正则表达式替换字符串 实例086 使用正则表达式拆分字符串 实例087 使用正则表达式验证输入字母 实例088 使用正则表达式验证中文汉字输入 实例089 使用正则表达式验证输入字符串 3.7 网络验证应用...
  • 实例085 使用正则表达式替换字符串 实例086 使用正则表达式拆分字符串 实例087 使用正则表达式验证输入字母 实例088 使用正则表达式验证中文汉字输入 实例089 使用正则表达式验证输入字符串 3.7 网络验证应用...
  • 实例085 使用正则表达式替换字符串 实例086 使用正则表达式拆分字符串 实例087 使用正则表达式验证输入字母 实例088 使用正则表达式验证中文汉字输入 实例089 使用正则表达式验证输入字符串 3.7 网络验证应用...
  • 例:替换字符串就支持起始长度替换个数、GB2与BIG5码相互转换等多选项操作,也支持文件扩展名的修改。现为市场上功能最强大的一款文件及图片批量改名工具。 【工作表保护】 对当前工作薄中的各工作表批量一次性用...
  • delphi 开发经验技巧宝典源码

    热门讨论 2010-08-12 16:47:23
    0181 替换指定的字符串 117 0182 在文本中删除指定的汉字或句子 118 0183 指定符号分割字符串 119 0184 如何使用随机密码和字符串 120 第6章 日期和时间 121 0185 获得系统当前时间 122 0186 获得系统...
  • 23、编写gbk_strlen函数,计算含有汉字的字符串的长度,汉字作为一个字符处理;已知:汉字编码为双字节,其中 参数里涉及指针,就要考虑该指针是不是一个需要修改的量,如果是,则参数应采用指向指针的指针。 (C语言里...
  • EXCEL集成工具箱V6.0

    2010-09-11 01:44:37
    例:替换字符串就支持起始长度替换个数、GB2与BIG5码相互转换等多选项操作,也支持文件扩展名的修改。现为市场上功能最强大的一款文件及图片批量改名工具。 【工作表保护】 对当前工作薄中的各工作表批量一次性用...
  • 例:替换字符串就支持起始长度替换个数、GB2与BIG5码相互转换等多选项操作,也支持文件扩展名的修改。现为市场上功能最强大的一款文件及图片批量改名工具。 【工作表保护】 对当前工作薄中的各工作表批量一次性用...
  • 例:替换字符串就支持起始长度替换个数、GB2与BIG5码相互转换等多选项操作,也支持文件扩展名的修改。现为市场上功能最强大的一款文件及图片批量改名工具。 【工作表保护】 对当前工作薄中的各工作表批量一次性用...
  • 例:替换字符串就支持起始长度替换个数、GB2与BIG5码相互转换等多选项操作,也支持文件扩展名的修改。现为市场上功能最强大的一款文件及图片批量改名工具。 【工作表保护】 对当前工作薄中的各工作表批量一次性用...
  • powerbuilder

    2013-11-21 17:11:48
    功能直接向打印机发送任意字符串,通常用于发送打印机的控制代码。 语法PrintSend ( printjobnumber, string {, zerochar } ) 参数printjobnumber:用PrintOpen()函数打开的打印作业号string:string类型,指定发送...
  • 【合并到选区】:将一个单元格的值合到一个区域中去,可以插入到原字符之前也可以插入到原字符之后 【可还原的合并居中】:合并数据时可以保留所有数据,可以随心所欲定义分隔符。还可以随时取消合并,还原所有...
  • 实例140 获得中英文混合字符串的字节长度 实例141 获得某个字符在一个字符串中最后出现的位置 实例142 获得字符串中指定后几位字符 5.5 综合应用 实例143 从字符串中分离文件路径、文件名及其扩展名 实例144 ...
  • 提供了对doc/ppt/txt/asp/html等文档进行智能字符批量替换(支持正则,Word通配符),对txt文本行的添加、删除、提取、统计分割等的处理,对doc/txt类型互转,对xls表合并 ,对ppt转word,Office文档密码筛查, txt...
  • Java范例开发大全 (源程序)

    热门讨论 2011-04-27 07:47:22
     实例88 替换指定的字符 117  实例89 分割字符串 117  实例90 如何使用substring()方法截取子串 118  实例91 分解字符串 119  实例92 字母大小写转换 120  实例93 去除多余的空白 120  实例94 原始数组...
  • java范例开发大全源代码

    热门讨论 2011-10-30 23:31:51
     实例88 替换指定的字符 117  实例89 分割字符串 117  实例90 如何使用substring()方法截取子串 118  实例91 分解字符串 119  实例92 字母大小写转换 120  实例93 去除多余的空白 120  实例94 ...
  • java范例开发大全

    2013-03-08 20:06:54
    实例88 替换指定的字符 117 实例89 分割字符串 117 实例90 如何使用substring()方法截取子串 118 实例91 分解字符串 119 实例92 字母大小写转换 120 实例93 去除多余的空白 120 实例94 原始数组类型的String形式 121...
  • Java范例开发大全(全书源程序)

    热门讨论 2013-04-05 11:50:26
    实例88 替换指定的字符 117 实例89 分割字符串 117 实例90 如何使用substring()方法截取子串 118 实例91 分解字符串 119 实例92 字母大小写转换 120 实例93 去除多余的空白 120 实例94 原始数组类型的String...
  • C#编程经验技巧宝典

    热门讨论 2008-06-01 08:59:33
    73 <br>0106 如何获得一个字符串中数字的长度 74 <br>0107 如何获得字符串中数字或字母的长度 74 <br>0108 如何获得字符串中某个数字的位置 75 <br>0109 获得字符串中汉字的个数 76 <br>0110...
  • Excel VBA实用技巧大全 附书源码

    热门讨论 2010-10-08 18:59:24
    04139替换单元格内的字符(Replace方法) 04140替换单元格内的字符(工作表函数) 04141设置单元格字符串中一部分字符的格式(上标、下标) 04142设置单元格字符串中一部分字符的格式(其他字体属性) 04143设置...
  • Python核心编程第二版(中文)

    热门讨论 2015-04-23 16:40:13
    15.2.2 匹配任意一个单个的字符(.) 15.2.3 从字符串的开头或结尾或单词边界开始匹配(^/$ /\b /\B ) 15.2.4 创建字符类([]) 15.2.5 指定范围(-)和否定(^) 15.2.6 使用闭包操作符(*,+,?,{})实现多...

空空如也

空空如也

1 2 3
收藏数 43
精华内容 17
关键字:

word替换任意长度字符