snial

To Dream

累加和为k的最长子数组

1.累加和等于k的最长子数组(正数)1.1题目给定一个数组arr,该数组无序,但每个值均为正数,再给定一个正数k,求arr的所有子数组中所有元素相加和为k的最长子数组1.2思路滑动窗口,[left...right],如果sum<k,right++如果sum>k,left++如果sum==

二叉树的垂直遍历

题目给你二叉树的根结点root,请你设计算法计算二叉树的垂序遍历序列。对位于(row,col)的每个结点而言,其左右子结点分别位于(row+1,col-1)和(row+1,col+1)。树的根结点位于(0,0)。二叉树的垂序遍历从最左边的列开始直到最右边的列结束,按列索引每一列上的所有结点,形成一个

K 个一组翻转链表

题目给定一个链表,按照每k个逆序,不够k个的正常顺序,例如:input:链表[1->2->3->4->5->6->7],k=2out:链表[2->1->4->3->6->5->7]思路按照每段(k个)来遍历,通过每段的pre、h

2024年投资计划

1.大背景长期:人工智能(AI)是大趋势,革命,第四次工业革命短期:美联储预计下半年开始降息1.1特斯拉人工智能领域最有潜力的的一支美股(目前20240409市值5500亿刀),为啥被低估:工业制造(基本盘电动车)数据(自动驾驶数据)算力(超级计算机)1.1.1电动汽车经过这几年Tesla电动汽车在

多线程依次打印ABC

1.题目:给3个线程分别交替打印A、B、C,10次,预期结果为:thread1:Athread2:Bthread3:Cthread1:Athread2:Bthread3:Cthread1:Athread2:Bthread3:C...2.解法2.1使用synchronized思路:使用synchron

Java内存回收

1.标记如何判断一个对象是存,还是亡,其中亡的就是所谓的垃圾,首先需要找到这些垃圾,这个动作称为“标记”。1.1引用计数法为每个对象添加一个引用计数器,用来统计指向该对象的引用个数。一旦某个对象的引用计数器为0,则说明该对象已经死亡,便可以被回收了。1.1.1存在的问题需要额外的空间来存储计数器繁琐

分布式ID

1.背景和特性传统数据库软件开发中,主键自动生成技术是基本需求。而各个数据库对于该需求也提供了相应的支持,比如MySQL的自增键,Oracle的自增序列等。当数据分片后,不同数据节点生成全局唯一主键是非常棘手的问题。同一个逻辑表内的不同实际表之间的自增键由于无法互相感知而产生重复主键。分布式ID的特

分布式复制和分区

1.分布式复制分布式复制是指:在多个节点上保存相同数据的副本,制方住可以提供冗余:如果某些节点发生不可用,则可以通过其他节点继续提供数据访问服务。复制也可以帮助提高系统性能。使数据在地理位置上更接近用户,从而降低访问延迟。当部分组件出现位障,系统依然可以继续工作,从而提高可用性。扩展至多台机器以同时

分布式锁

1.分布式锁在并发场景下,为了保证并发安全,我们常常要通过互斥(加锁)手段来保证数据同步安全。JDK虽然提供了大量锁工具,但是只能作用于单一Java进程,无法应用于分布式系统。为了解决这个问题,需要使用分布式锁。分布式锁的解决方案大致有以下几种:基于数据库实现基于缓存(redis等)实现基于Zook

分布式事务

1.分布式事务分布式事务指的是事务操作跨越多个节点,并且要求满足事务的ACID特性。分布式事务相比于单机事务,实现复杂度要高很多,主要是因为其存在以下难点:事务的原子性:事务操作跨不同节点,当多个节点某一节点操作失败时,需要保证多节点操作的都做或都不做(allornothing)的原子性。事务的一致