码迷,mamicode.com
首页 > 其他好文 > 详细

leetcode: longest substring without repeating characters

时间:2015-07-30 14:52:05      阅读:109      评论:0      收藏:0      [点我收藏+]

标签:

July 16, 2015 

 

Problem statement: 

Longest Substring Without Repeating Characters 

 

Read the blog: 

 

这算法写了很多次, 时间太长, 半年前, 有一次写了二个小时, 写不下去, 想法不好, 没有办法收场; 接着, 又写了四天,

每天二小时, 把上次代码拿出来看, 有什么问题, 改写.  过后想, 这样学习, 时间是浪费的, 打的是疲劳战; 工作中没有

这么复杂的问题, 解决问题, 一定要评估复杂程度.

 

改变学习方式, 看以上的网页, 看Java的代码, 改写C#; 然后, 增加一些测试的内容, 帮助自己记忆算法的主要思想,

然后, 再改写; 用最简化的测试案例手工检测代码. 二三个小时搞定, 比半年前写的C#简单很多.

 

关键是用别人的想法, 又加快改写代码的速度, 改写后的代码更方便自己记忆. 这算法用移动窗口, 所以, 在代码中定义

窗口起点, 长度, 什么时候决定更新窗口起点; 用一个数组(256字符)记录每个字符上次所在的位置, 然后, 对当前点,

窗口最右点, 判断是在窗口中出现没有; 间接判断, 看上次的位置在滑动窗口外还是里面.

 

学习别人的代码, 又练习自己改写代码, 写测试的内容, 多练习总是有新的体会.

 

Julia发现改写代码, 从其他语言到C#, 让她有机会快速练习写代码, 学习C#语言; 同时, 体会和其他语言的不同, 开阔眼界;

读的再多, 想法很好, 不会写代码实现, 或超过时间范围, 或写起来头痛, 太多错误, 都通过Leetcode训练, 有所提高. 

 

Share C# code: 

 

First blog about the same problem: 

leetcode: longest substring without repeating characters

标签:

原文地址:http://www.cnblogs.com/juliachenOnSoftware/p/4689300.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!