需求:
Given a sorted array nums, remove the duplicates in-place such that
each element appear only once and return the new length.Do not allocate extra space for another array, you must do this by
modifying the input array in-place with O(1) extra memory.
Example:
Given nums = [0,0,1,1,1,2,2,3,3,4],
Your function should return length = 5, with the first five elements
of nums being modified to 0, 1, 2, 3, and 4 respectively.It doesn’t matter what values are set beyond the returned length.
/**
* @param {number[]} nums sorted numbers
* @return {number[]}
*/
var removeDuplicates=function(nums){
var slow = 0;
for (var fast = 0; fast < nums.length; fast++) {
if (nums[slow] !== nums[fast]) {
nums[++slow] = nums[fast];
}
}
return slow+1
}
今天在刷LeetCode时候遇到的,典型快慢指针法,感叹于工作中我们一直忙碌于业务代码里更多的ifelse,用习惯了各种拿来主义的api,却不知不觉丢失了一些美好东西。
殷离:张无忌是很好,但是我偏偏不喜欢
赵敏:我偏要勉强;
偏要勉强也好,偏偏不喜欢那个温柔待人不懂拒绝武功绝世的张,独爱当初那个功夫弱鸡却骄傲的张。也罢,贵在此去经年,不改心中那份骄傲与执拗。对他们而言,不是不想改,更是不敢改,改了就是宣判自己死刑,是对自己的背叛~
作为一个程序员,最稚嫩青涩时候,写出第一个引以为豪的函数的时候,那份驱使我们开始编程之路的美好与成就感,弥足珍贵,这和后面是否成为光明顶打遍无敌手的高光时候的张无忌无关,因为大神总是稀少的。
云云众生的我们,作为一个程序员,要常提醒不断保持那份入行的初心,不固步自封。学java的也可以学一下GO;现在人工智能那么火,前端可以试试python啊,一解心中好奇,看能玩个新花样不也很有趣,做个小demo不也感觉很有成就感?
而这些都不能考虑诸如:有什么用,你多会一门语言,前端会后端或者反之,公司又不会给你两份工作的职位。学什么算法,我小公司那点数据级别又用不上,一考虑,你就俗了,已经不是当初的那个自己了。
有一天我们会老,外在如收入,职位都会走下坡路,遇到身心疲惫期,对于平凡的我们不可避免,但是曾经的美好体验不会骗你。
最近和一30几岁朋友聊,他准备从传统产品经理转去拥抱可能是未来大方向的人工智能方向的产品。每天从看2小时AI资讯开始。他说:30几岁又如何,人生苦短,只要工资过得去(哪怕从30K变成10K只要够开销),做自己感兴趣的事情,不断走在时代的前沿,体验更多精彩,值得。敬佩,深以为然。
如果这里可以配BGM,真想来一首朴树的《生如夏花》