楼主: Fanyare
跳转到指定楼层
上一主题 下一主题
收起左侧

[CareerCup] [第二轮] 2/18-2/24 CareerCup 1.4

🔗
yukainuo23 2013-2-21 18:23:18 | 只看该作者
全局:
本帖最后由 yukainuo23 于 2013-2-21 18:31 编辑

https://gist.github.com/anonymous/5003724

第一种用了常规array方法,但是performance很差因为每次检测到space必须再loop一次把后面元素后移两位腾出空间置换为‘%’ ‘2’ ‘0’, 望高手指教高效算法(Ps: 貌似这里我把ture length看成总长度了)
第二种用了StringBuilder, 可以直接将其中的元素换为String,完成置换后再返回String即可
第三种应该可以用ArrayList做吧,但是效率应该也不高!
回复

使用道具 举报

🔗
yukainuo23 2013-2-21 18:27:24 | 只看该作者
全局:
jerrysun 发表于 2013-2-20 00:26
https://github.com/JerrySun363/CareerCup/blob/master/Week1/ReplaceString.java

First scan the stri ...

这算法好啊!!
回复

使用道具 举报

🔗
yukainuo23 2013-2-21 18:48:02 | 只看该作者
全局:
https://gist.github.com/KainuoYU/5003831

学楼主的方法再做了一遍!
First count the number of spaces, and
then move the array elements backwards from the end to create enough space for all replacement;
once find an element with ' ', then count--, and replace ' 'with '%' '2' '0'
repeat the steps above again
回复

使用道具 举报

🔗
amoscoder 2013-2-21 23:36:38 | 只看该作者
全局:
本帖最后由 amoscoder 于 2013-2-21 23:37 编辑

新手学习
思路:
      1、重建一个字符串,遍历原字符串,遇到空格,转换为%20添加给新字符串。其他字符不转换。
      2、在同一个字符串上转换。先根据空格数量计算出新字符串的长度。使用两个指针从后往前遍历字符串。如果i遇到空格,j--分别为02%,其他字符,直接赋值。

https://gist.github.com/KuangyinWang/5005405




回复

使用道具 举报

🔗
amoscoder 2013-2-21 23:42:46 | 只看该作者
全局:
Arthur2012 发表于 2013-2-17 23:44
Step 1: count the length of new string, length_new_string = strlen(str) + num_space * 2;
Step 2: r ...

代码写的很不错,但是不是要考虑下所给字符串最后面的那些空格,不能直接用strlen(str)作为字符串的长度?



回复

使用道具 举报

🔗
Arthur2012 2013-2-22 01:23:21 | 只看该作者
全局:
amoscoder 发表于 2013-2-21 23:42
代码写的很不错,但是不是要考虑下所给字符串最后面的那些空格,不能直接用strlen(str)作为字符串的长度 ...

十分感谢,我感觉最后的那些空格,也应该转换成%20,不知道对不对?
回复

使用道具 举报

🔗
youling_tong 2013-2-22 06:32:40 | 只看该作者
回复

使用道具 举报

🔗
amoscoder 2013-2-22 08:33:47 | 只看该作者
全局:
Arthur2012 发表于 2013-2-22 01:23
十分感谢,我感觉最后的那些空格,也应该转换成%20,不知道对不对?

我感觉不应该转换吧,问题样例中并没有转换。
回复

使用道具 举报

🔗
Arthur2012 2013-2-22 08:58:32 | 只看该作者
全局:
amoscoder 发表于 2013-2-22 08:33
我感觉不应该转换吧,问题样例中并没有转换。

所以我感觉这就是题意和样例不符合的地方,不过如果要改应该也不是难题。anyway,谢啦
回复

使用道具 举报

全局:
https://github.com/1094401996/Ca ... 4/ReplaceSpace.java

题目的意思应该是让in place的改变。。。。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册账号
隐私提醒:
  • ☑ 禁止发布广告,拉群,贴个人联系方式:找人请去🔗同学同事飞友,拉群请去🔗拉群结伴,广告请去🔗跳蚤市场,和 🔗租房广告|找室友
  • ☑ 论坛内容在发帖 30 分钟内可以编辑,过后则不能删帖。为防止被骚扰甚至人肉,不要公开留微信等联系方式,如有需求请以论坛私信方式发送。
  • ☑ 干货版块可免费使用 🔗超级匿名:面经(美国面经、中国面经、数科面经、PM面经),抖包袱(美国、中国)和录取汇报、定位选校版
  • ☑ 查阅全站 🔗各种匿名方法

本版积分规则

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