Algorithm:
本周因为在跟着极客时间王争老师的专栏: "数据结构与算法之美"学习数据结构和算法,看了开始的基本数据结构: 数组、链表、栈和队列,本来想着多刷几道相关主题的题目的,但是这周突然非常忙,只刷了一道链表翻转的题目:
题目:
Reverse a singly linked list.(难度: Easy)
Example:
Input: 1->2->3->4->5->NULL
Output: 5->4->3->2->1->NULL
算法设计:
使用两个变量来存放当前节点和当前节点的前驱节点,然后改变指针方向
# Definition for singly-linked list.
# class ListNode(object):
# def __init__(self, x):
# self.val = x
# self.next = None
class Solution(object):
def reverseList(self, head):
"""
:type head: ListNode
:rtype: ListNode
"""
if head is None:
return head
temp = None
while head.next is not None:
prev = temp
temp = head
head = head.next
temp.next = prev
head.next = temp
return head
Review:
原文: 20 Simple Habits to Preserve Your Attention Using Technology
我们现在的生活越来越依赖手机,我们把越来越多的注意力和时间消耗在了各种APP上。本文提出了20条特别简单并且很容易实践的策略,帮助我们把我们的注意力和时间从手机中解放出来。我们总是抱怨时间不够用,但是当我们去统计一下每天花费在各个APP上的时间后就会发现,原来我们每天都会花费那么多的时间在一些没什么价值的东西上,想象一下,当我们采取这些简单的策略,每天解放出几个小时的时间,并且把这些时间花费在真正想做和有价值的事情上,会产生什么样的积极结果?
而且这些策略也会帮助我们解放我们的注意力,让我们不再在工作和学习的时候,频繁被手机打断和吸引我们的注意力,让我们的时间更加高效,同样也会让我们的生活会更加美好。我在读的过程中已经尝试了里面的一些点子,我这次的ARTS任务就是在没有任何注意力分散的情况的下完成的,效率和感受真的很美妙,我准备之后把这些点子都实践一遍,从而提升自己的效率,并且解放出一部分时间来做更有意义的事情。
Tips:
git stash: 把工作目录的当前修改状态存起来,并且把工作目录恢复到HEAD commit
git stash show: 查看存起来的工作目录的修改状态
git stash (pop|apply): 可能在一个不同的commit上恢复之前存起来的修改状态
适用场景:
1. 你正在本地进行开发,但是上游有了新的改动,并且和本地的不冲突,想要让本地保持和上游的同步性
-
当正在对项目进行添加新功能的中间阶段,线上项目突然出现了一个bug,需要紧急把bug进行处理,可以使用git stash把当前的改动存起来,然后把bug处理完成,提交commit上线,再使用git stash (pop|apply)把之前存的修改状态恢复,继续进行新功能的开发
Share:
这周就分享一些对技术的认知和想法吧,也是对这一块做一个梳理吧。到现在工作已经快两年了,对技术的认知在不同的阶段有着不同的变化,从刚开始要全身心去提升自己的技术,想要在某块做到top,到现在会花很多心思和时间去提升自己的软实力。现在对技术的认知是: 技术是一种和工具,我们应该追逐的不是技术本身,而是自己更想要实现的价值和目标。就像金钱一样,金钱只是一种很厉害的工具,可以让我们更高效地实现我们的价值和目标,但是我们往往会在前行的过程中迷失,最终会偏离目标。所以现在更多的是结果导向, 先确定好自己的目标以及想要的结果,然后需要什么样的技术,然后才会去专注这块技术,因为我觉得人的精力和时间都是有限的,只能专注于有限的一块,而且我觉得软实力可能更重要一点,因为我们不擅长的会有其他人擅长,而软实力就是帮助把很多人各自擅长的结合起来,然后去实现更大的目标和更大的价值。我觉得我们在提升技术上不应该只盯着技术,就像参加ARTS这样的活动,我们可以锻炼我们的写作能力,可以培养一些坚持努力的习惯等等,我觉得这些才是最重要的。
网友评论