A

Min stack

Design a stack that support push,pop,top,and retrieving the minimum element in constant time

push(x)--Push element x onto stack
pop()--Remove the element on top of the stack
top()-- Get top element
getMin()--Retrieve the minimum element in the stack



MinStack minStack = new MinStack();
minStack.push(-2);
minStack.push(0);
minStack.push(-3);
minStack.getMin();   --> Returns -3.
minStack.pop();
minStack.top();      --> Returns 0.
minStack.getMin();   --> Returns -2.
##1
class MinStack(object):
    def __init__(self):
        self.stack = []
    
    def push(self,x):
        self.stack.append((x,min(x,self.getMin())))
    def pop(self):
        if len(self.stack)==0: return None
        return self.stack.pop()[0]
    def top(self):
        if len(self.stack)==0:return None
        return self.stack[-1][0]
    def getMin(self):
        if len(self.stack)==0: return float('inf')
        return self.stack[-1][1]
##2.
class MinStack(object):
    def __init__(self):
        self.stack = []
        self.min = []
        self.size = 0
    def push(self,x):
        if self.size == 0:
            self.min.append(x)
        else:
            if x <= self.min[-1]
                self.min.append(x)
        self.stack.append(x)
        self.size += 1
    def pop(self):
        tmp = self.stack.pop()
        self.size -= 1
        if tmp == self.min[-1]:
            self.min.pop()
    def top(self):
        return self.stack[-1]
    def getMin(self):
        return self.min[-1]

160Intersection of Two Linked Lists

Write a program to find the node at which the intersection of two singly linked lists begins

class Solution(object):
    def getIntersectionNode(self,headA,headB):
        a,b = headA,headB
        while a != b:
            a = a.next if a else headB
            b = b.next if b else headA
        return a
    

198.House Robber

Input:[1,2,3,1]
Output:4
Rob house 1(money = 1) and then rob house 3 (money = 3)Total amount you can rob = 1 + 3 = 4
def rob1(self,nums):
    if not nums:
        return 0
    if len(nums) <=2:
        return max(nums)
    res = [0] * len(nums)
    res[0],res[1] = nums[0],

R

https://engineering.linkedin.com/blog/2019/REACH-update
翻译:工程师的天赋在许多不同形势下和不同背景下,这不仅仅是技术,它还会引发好奇心,问题解决,激情。在LinkedIn,我们意识到工程师的天赋不总是来自传统的训练,尤其是在今天那里有许多不同的路径到达程序。在寻找天赋时,回顾之前的工程师.在2017年时,我颁布了REACH,给出个人必须的职业化经验设计的方案才能成为一个全职的工程师。这个方案的目的是为了给来之不同技术背景的人们提供一个获取他们在工程师中重新开始的一个机会

S

https://engineering.fb.com/data-infrastructure/off-facebook-activity/
我们分享我们的计划构建一个可以让人们访问app和网站工具,与我们分享活动和不能链接.....,今天我们将开始推出这个工具,被称作Off-Facebook的活动,建立Off-Facebook活动需要对我们的系统存储和处理方式进行广泛的重新设计,以及从他们的账户中断开关于某人的非现场活动的信息的新方法,由于我们在一个中心并没有存储那些活动,我们也必须带来一个多样的数据资源,根据我们的构造框架发展管理不同类型信息的新的方法。刚开始开发这个工具时,首先我们从许多用户组收集反馈,包括私人专家,使用Facebook,小的巨大商业的人,为了理解他们的需求,确保我们正谈论如何解决这些问题采取整体的观点,在这些对话的过程中,出现的是需要更加清楚的解释如何在互联网交换数据,我们还听说,扩大我们的控制措施朝着正确的方向迈出的良好的一步,并与他们的期望保持一致。我们还在伦敦与设计师,政策制定者,学者,隐私专家举办一场研讨会,我们希望这指南能够成为我们以及整个社区未来工作的起点。

T

从我个人成长的角度来看,我顶着别人议论与看法,当然现在也是找工作期间,报了编译原理和操作系统两门课的助教,我这么做完全是为了自我学习的成长,当然暑假那些心酸事,决定深入前端了。当然基础还得看!目前由于秋招没准备,题没咋连续刷,都忘完了!华为的机试我觉得还是简单,但没刷过题,第一次刷,都忘了,就是菜,不想找接口!目前刚刚安装下Ubuntu,直接通过Ubuntu文档,以及Google英文解决问题,我必须要学好英语,英语决定了搞IT技术人的天花板