ARTS Week 2

ARTS Week 2

每周完成一个ARTS:
1.Algorithm:每周至少做一个 leetcode 的算法题
2.Review:阅读并点评至少一篇英文技术文章
3.Tip:学习至少一个技术技巧
4.Share:分享一篇有观点和思考的技术文章


Algorithm

#include <string>
using namespace std;

class Solution {
public:
    int lengthOfLongestSubstring(string s) {
        //int length = 0;
        string maxSubstring="";
        string curSubstring="";
        int ilength = s.size();
        for(int i = 0;i<ilength;i++){
            curSubstring += s[i];
            for (int j = i+1;j<ilength;j++){
                if(string::npos != curSubstring.find(s[j])){
                    break;
                }
                curSubstring +=s[j];        }
        if (maxSubstring.size()<curSubstring.size()){
            maxSubstring = curSubstring;
        }
        if (maxSubstring.size() > (ilength - i)) {
            break;
        }   
        curSubstring = "";
    }
    return maxSubstring.size();
}
};

Review

A Smart Programmer Understands The Problems Worth Fixing–The difference between solving any problem and the right one

本文讲述的主要含义是,在拥有相同专业能力的情况下,有经验的程序员所做的选择。

有能力的新人总会以为他们可以解决所有问题,改掉所有bug。然而并不是这样,尤其是在面对大型分布式高并发的系统时,情况复杂,极端条件下的错误很难靠程序本身完美地解决。只要纠错成本不是太高,给予系统操作人员处理错误的权限会是一个不错的方案。在你有足够的证据证明成本得到回报之前,投入你的精力是没有意义的。

将一些技术限制提升到业务场景并逐步发展,而不是一次性解决所有问题更有价值。聪明的程序员不是解决所有问题的人,而是理解值得解决的问题的人。


Tips

Qt 下 IPV4 地址输入的校验器设置

QString ipRange = "(?:[0-1]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])";
QRegExp ipRegex ("^" + ipRange
                 + "\\." + ipRange
                 + "\\." + ipRange
                 + "\\." + ipRange + "$");
QRegExpValidator *ipValidator = new QRegExpValidator(ipRegex, this);
lineEdit->setValidator(ipValidator);

Share

本周分享一篇黑客与画家读后的一点心得


我是StormSun,期待与你一起交流学习!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值