字符串编程题
RobinQueue
喜爱编程,技术狂热者,擅长Java,喜欢跑步、健身、看书。
展开
-
字符串变形词
对于两个字符串A和B,如果A和B中出现的字符种类相同且每种字符出现的次数相同,则A和B互为变形词,请设计一个高效算法,检查两给定串是否互为变形词。解题思路:通过哈希表将字符串A放入map中,记录出现的字母和次数,本题中使用数组代替,key–数组下标,value–数组数值。public class Transform { public boolean chkTransform(String A原创 2016-07-02 21:33:21 · 439 阅读 · 0 评论 -
java中哈希表,Map,HashCode,Equals等介绍
关于哈希表的原理,及java中hashmap等哈希表 在java中如hashtable实现了哈希表等,如put(K,Vlaue)是先计算出K的hashcode值,再通过hashcode计算出 hashtable中Entry[]数组 table的下标,在table[next]中进行遍历Entry链表进行key和value的比较,相同的key 及hashcode,用新值取代旧值,不同的直原创 2016-07-02 21:47:23 · 359 阅读 · 0 评论 -
求一个二叉树是否为另一个二叉树的子树
求一个二叉树是否为另一个二叉树的子树**对于两棵彼此独立的二叉树A和B,请编写一个高效算法,检查A中是否存在一棵子树与B树的拓扑结构完全相同。 给定两棵二叉树的头结点A和B,请返回一个bool值,代表A中是否存在一棵同构于B的子树。**直接把两个二叉树通过前序遍历形成字符串,在判断字符串A是否包含字符串B,主要用到的是KMP算法(http://blog.csdn.net/maotianwang/a原创 2016-07-02 21:19:22 · 396 阅读 · 0 评论 -
得到一个字符串最大无重复子串长度
以下是我自己见解,写的不好多多包涵如“abcdb”,两个变量,一个保存目前所遍历字符的下标位置(pre),一个保存当前这个字符最大的无重复长度(cur),而length则取(length,cur)最大长度import java.util.*;public class DistinctSubstring { public int longestSubstring(String A, int n原创 2016-07-14 15:52:53 · 623 阅读 · 1 评论