删除字符串中模式串
来源:互联网 发布:淘宝网运动服女装套装 编辑:程序博客网 时间:2024/05/29 17:54
这次贴上的是盛大公司的笔试题
题目:删除模式串中出现的字符,如“welcome to asted”,模式串为“aeiou”那么得到的字符串为“wlcm t std",要求性能最优。
1、假设这道题目仅仅是对小写字母字符而言,那么本题可以这样做,创建26个桶,每个桶中存放一个标记,标记这个桶中有没有模式串中的字符,这样查找就相当方便了,而这样空间复杂度又不是太大。
package com.interview;public class PatternDeleteSub {private static boolean[] bucket = new boolean[26];public PatternDeleteSub() {for (int i = 0; i < bucket.length; ++i)bucket[i] = false;}private String patternDeleteSub(String source, String pattern) {int i = 0;for (i = 0; i < pattern.length(); ++i)bucket[pattern.charAt(i) - 'a'] = true;StringBuilder result = new StringBuilder();i = 0;while (i < source.length()) {char ch = source.charAt(i);i++;if (ch <= 'z' && ch >= 'a') {if (bucket[ch - 'a'])continue;elseresult.append(ch);} elseresult.append(ch);}return result.toString();}public static void main(String[] args) {// TODO Auto-generated method stubPatternDeleteSub pds = new PatternDeleteSub();System.out.println(pds.patternDeleteSub("welcome to asted", "aeiou"));}}
0 0
- 删除字符串中模式串
- 删除字符串中特定的子串
- 删除字符串中所子串【编程】
- 在字符串中删除子串
- 删除字符串中标点符号
- 字符串中查找删除
- 删除字符串中空格
- 删除字符串中两个字符中的字符串(最近原则且非贪婪模式)
- 删除模式串中出现的字符
- 删除模式串中出现的字符
- 删除模式串中出现的字符
- 删除字符串中所有给定的子串,返回删除的子字符串的个数
- 删除字符串中重复字符
- JavaScript删除字符串中空格
- 删除字符串中重复字符
- 字符串中删除固定字符
- 删除字符串中特定字符
- 删除字符串中重复字符
- SQL Server之字符串函数
- java中static作用详解
- ThinkPHP学习笔记
- 如何判断文法是LL(1)SLR(1)LR(1)LALR(1)的?
- hdu2923 Einbahnstrasse
- 删除字符串中模式串
- Cocoa之NSDictionary总结
- UIScrollView 和 UIPageControl实现页面循环播放
- POJ 3461 kmp 应用
- 关于堆排序
- 中文字符集编码Unicode ,gb2312 , cp936 ,GBK,GB18030
- C语言数据类型转换详解
- 程序员的职业发展
- android自定义组合控件,参考Launcher中FolderIcon构成,欢迎拍砖。