G面经Prepare: Search word delete sequence in dictionary
2024-10-19 04:34:08
给一个单词一个字典,每次删除单词里任一个字母直到剩下一个字母,形成一个序列,比如office->offce->ofce->ofc->oc->c。问是否字典里存在一个这种序列
package checkDictExistSequence;
import java.util.*; public class Solution {
HashSet<String> dict = new HashSet<String>(); public String check(String[] arr, String word) {
for (String str : arr)
dict.add(str);
if (checkSeq(new StringBuffer(word))) return "true";
return "false";
} public boolean checkSeq(StringBuffer sb) {
if (sb.length() == 1) return true;
for (int i=0; i<=sb.length()-1; i++) {
char cur = sb.charAt(i);
sb.deleteCharAt(i);
if (dict.contains(sb.toString())) {
if (checkSeq(sb)) return true;
}
sb.insert(i, cur);
}
return false;
} /**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Solution sol = new Solution();
System.out.println(sol.check(new String[]{"offce", "ofce", "ofc", "oc", "c"}, "office"));
} }
最新文章
- 【转】TCP/IP协议栈及OSI参考模型详解
- 模仿iframe框架,由分隔栏动态改变左右两侧div大小———基于jQuery
- vim global命令
- freemark 判断是否为空 是否存在
- IOS 模仿TableView封装
- OC3_歌词解析
- HW5.15
- Tomcat部署问题及解决方法
- yum php56
- Convert Sorted Array to Balanced Binary Search Tree (BST)
- bzoj1338: Pku1981 Circle and Points单位圆覆盖
- [python] 1、python鼠标点击、移动事件应用——写一个自动下载百度音乐的程序
- Hive基础(3)---Fetch Task(转)
- Erlang Rebar 使用指南之一:入门篇
- Java学习目录(持续更新中)
- [Tex学习笔记]小于等于一个常数乘以...
- 数据库乐观锁和悲观锁的理解和实现(转载&;总结)
- 微软必应Bing搜索引擎这几天无法访问!
- python爬虫scrapy之如何同时执行多个scrapy爬行任务
- Scala构建工具SBT
热门文章
- 【php学习】array_map,array_walk,array_filter的区别
- 通过宏定义判断是否引入的是framework,反之则使用双引号,实用!
- 汇编ASCII大小写转换(字符串长度$的用法)
- How to disable and clear query ranges in sysquery form
- JS-001-单选复选按钮操作
- angularJs:双向数据绑定
- TCP定时器
- LeetCode Longest Palindrome
- Oracle本地网络分表模拟分区裁剪
- POJ 1039问题描述