[职场感言] 工作一年了,聊聊三件事

一亩三分地论坛

 找回密码
 Sign Up 注册获取更多干货
E轮2.5亿美元融资
K12教育独角兽一起作业
北京-诚聘人工智能/教育/大数据岗
坐标湾区
Games Startup
招聘游戏开发工程师
游戏初创公司招聘工程师、UIUX Designer和游戏策划
码农求职神器Triplebyte:
不用海投
内推多家公司面试
把贵司招聘信息放这里
查看: 1368|回复: 7
收起左侧

[字符串] 【求教】用JAVA写一个mutable string class

[复制链接] |试试Instant~ |关注本帖
ryuichist 发表于 2015-5-5 15:35:44 | 显示全部楼层 |阅读模式

注册一亩三分地论坛,查看更多干货!

您需要 登录 才可以下载或查看,没有帐号?Sign Up 注册获取更多干货

x
这是我在其他面筋里看到的一个问题,题目大概如下
写一个mutable string。 里面有三个methods
charAt(int i)
substring(int beginIndex, int endIndex)
setcharAt(int i, char c);


只能是O(1) space complexity.


前2个我觉得还比较好搞,建一个char[]就可以
第三个比较难,没想出怎么做。要求不能改变原始的char[]。
有人说用tree,有人说用ArrayList<HashMap>


请教各位大神!!!

补充内容 (2015-5-7 13:13):
我也没太读懂题目,原题是这样写的
a new method setCharat(index, char) is added, a substring must keep the changes of parrent string that are made before its creation, but both the parrent string and...

补充内容 (2015-5-7 13:15):
but both the parrent string and the substring will not affect each other after the creation of the substring, requires O(1) space complexity
caoyi 发表于 2015-5-5 15:47:48 | 显示全部楼层
HashMap比较好用吧
回复 支持 0 反对 1

使用道具 举报

全球28万学生4.7分推荐
狂暴CNM地 发表于 2015-5-5 22:19:32 | 显示全部楼层
什么叫 O(1) 如果string的长度是n, 至少也是O(n)吧。
回复 支持 反对

使用道具 举报

outtime 发表于 2015-5-6 00:04:09 | 显示全部楼层
lz可以说详细一点吗?看不懂啊,不能改变原数组的意思是要返回一个新的数组吗?
回复 支持 反对

使用道具 举报

stellari 发表于 2015-5-7 11:41:26 | 显示全部楼层
不论是用tree还是ArrayList<HashMap>, 我就想先问一下这题的O(1)内存要求体现在哪里?是不是意思是说创建该string时用掉的内存就不算了,只是该string建立之后,无论进行多少次substring和setcharAt操作,都不会在原来的基础上增加O(1)级别以上的内存?

话说c++狗表示一开始还没看明白这题到底难在什么地方……
回复 支持 反对

使用道具 举报

 楼主| ryuichist 发表于 2015-5-7 13:13:48 | 显示全部楼层
狂暴CNM地 发表于 2015-5-5 22:19
什么叫 O(1) 如果string的长度是n, 至少也是O(n)吧。

我也没太读懂题目,原题是这样写的
a new method setCharat(index, char) is added, a substring must keep the changes of parrent string that are made before its creation, but both the parrent string and the substring will not affect each other after the creation of the substring, requires O(1) space complexity
回复 支持 反对

使用道具 举报

 楼主| ryuichist 发表于 2015-5-7 13:14:38 | 显示全部楼层
stellari 发表于 2015-5-7 11:41
不论是用tree还是ArrayList, 我就想先问一下这题的O(1)内存要求体现在哪里?是不是意思是说创建该string时 ...

原题是这样写的
a new method setCharat(index, char) is added, a substring must keep the changes of parrent string that are made before its creation, but both the parrent string and the substring will not affect each other after the creation of the substring, requires O(1) space complexity
回复 支持 反对

使用道具 举报

 楼主| ryuichist 发表于 2015-5-7 13:14:51 | 显示全部楼层
outtime 发表于 2015-5-6 00:04
lz可以说详细一点吗?看不懂啊,不能改变原数组的意思是要返回一个新的数组吗?

a new method setCharat(index, char) is added, a substring must keep the changes of parrent string that are made before its creation, but both the parrent string and the substring will not affect each other after the creation of the substring, requires O(1) space complexity

这是原题哦
回复 支持 反对

使用道具 举报

本版积分规则

提醒:发帖可以选择内容隐藏,部分板块支持匿名发帖。请认真读完以下全部说明:

■隐藏内容方法: [hide=200]你想要隐藏的内容比如面经[/hide]
■意思是:用户积分低于200则看不到被隐藏的内容
■可以自行设置积分值,不建议太高(200以上太多人看不到),也不建议太低(那就没必要隐藏了)
■建议只隐藏关键内容,比如具体的面试题目、涉及隐私的信息,大部分内容没必要隐藏。
■微信/QQ/电子邮件等,为防止将来被骚扰甚至人肉,以论坛私信方式发给对方最安全。
■匿名发帖的板块和方法:http://www.1point3acres.com/bbs/thread-405991-1-1.html

关闭

一亩三分地推荐上一条 /5 下一条

手机版|小黑屋|一亩三分地论坛声明

custom counter

GMT+8, 2018-5-24 16:42

Powered by Discuz! X3

© 2001-2013 Comsenz Inc. Design By HUXTeam

快速回复 返回顶部 返回列表