当前位置:网站首页>ARTS_202207W2
ARTS_202207W2
2022-08-01 19:41:00 【cswh】
ARTS 第 3 周
每周完成一个ARTS:
Algorithm:每周做一个 leetcode 的算法题
Review:阅读并点评写作一篇英文技术文章
Tip:学习至少一个技术技巧
Share:分享一篇有观点和思考的技术文章。
Table of Contents
- Algorithm 两数相加
- Review 泛硅谷公司相比传统公司更善用软件工程师
- Tip 截图工具snipaste
- Share 分享博客
Algorithm
leetcode2.两数相加
题目描述:给你两个非空的链表,表示两个非负的整数。它们每位数字都是按照逆序的方式存储的,并且每个节点只能存储一位数字。
请你将两个数相加,并以相同形式返回一个表示和的链表。
输入:l1 = 2,4,3, l2 = 5,6,4
输出:7,0,8
解释:342 + 465 = 807
package com.haowang.leetcode;
import com.haowang.TestUtils.UseCase_LinkedList.ListNode;
public class 两数相加_2 {
public static void main(String[] args) {
ListNode l1 = UseCase_LinkedList.createLinkedList(new int[]{2, 4, 3});
ListNode l2 = UseCase_LinkedList.createLinkedList(new int[]{5,6,4});
ListNode sum_ListNode = addTwoNumbers(l1, l2);
UseCase_LinkedList.printLinkedList(sum_ListNode);
ListNode l1_2 = UseCase_LinkedList.createLinkedList(new int[]{9,9,9,9,9,9,9});
ListNode l2_2 = UseCase_LinkedList.createLinkedList(new int[]{9,9,9,9});
ListNode sum_ListNode_2 = addTwoNumbers(l1_2, l2_2);
UseCase_LinkedList.printLinkedList(sum_ListNode_2);
}
public static ListNode addTwoNumbers(ListNode l1, ListNode l2) {
ListNode head = null, tail = null;
int carry = 0;
while (l1 != null || l2 != null) {
int n1 = l1 != null ? l1.val : 0;
int n2 = l2 != null ? l2.val : 0;
int sum = n1 + n2 + carry;
if (head == null) {
head = tail = new ListNode(sum % 10);
} else {
tail.next = new ListNode(sum % 10);
tail = tail.next;
}
carry = sum / 10;
if (l1 != null) {
l1 = l1.next;
}
if (l2 != null) {
l2 = l2.next;
}
}
if (carry > 0) {
tail.next = new ListNode(carry);
}
return head;
}
}为了方便本地IDEA调试,参考了一些资料,可通过方法createLinkedList()本地生成链表结构,printLinkedList()打印链表。详情可见LeetCode构建链表和树的测试用例
Review
文章主题为“泛硅谷公司相对于传统公司更加善用软件工程师“。
原文:What Silicon Valley "Gets" about Software Engineers that Traditional Companies Do Not
泛硅谷公司获得了一些传统公司无法理解或无法在实践中应用的东西。这些实践上的差异,导致公司层面更快创新、工程师更专业的成长和更好的产出。反过来,泛硅谷公司可以支付更高的工资并从同一个人身上获得更多价值。
作者从几个方面,比较了泛硅谷公司与传统公司的差别:
1、软件工程师的自主权
泛硅谷公司传递上下文并赋予自主权,工程师解决业务问题,而不仅是完成分配的任务。
二、好奇的问题解决者,而不是没有想法的资源
传统公司倾向于让工程师一直坐在电脑前编码,充分利用时间。
泛硅谷公司认为软件工程师是最适合解决组织存在的问题的人,不仅仅是专业技能,还包括沟通和解决问题能力;让软件工程师接触业务,完成编码的同时为业务寻找更有影响力的机会。
三、内部数据、代码和文档透明度
四、接触业务和业务指标
泛硅谷公司鼓励工程师与其他业务部门进行互动,并在其他工程师之间建立关系。
五、工程师之间的三角沟通
六、投资于不那么令人沮丧的开发体验
泛硅谷公司改善开发人员工作体验。投资于代码周边事情,如依赖项、环境部署、CI/CD等
七、更高的杠杆-->更高的{自主权、报酬}
更高的自主权 --> 更高的杠杆率 --> 更高的价值创造 --> 更高的薪酬(同时公司仍然盈利)
最后,作者总结了两类公司最大的不同点:泛硅谷公司将工程师视为价值创作者和创造性问题解决者;而传统公司将他们视为工厂工人。("SV-like" companies think of engineers as value generators, and creative problem solvers. Traditional companies think of them as factory workers.“)。而创造性的问题解决者可以带来10倍的价值,给他们更多的报酬,给他们更多的自由是有意义的。
来源湾区日报第1368期上收录文章
Tip
win10上的一款截图软件snipaste,官网
Share
分享一个不错的博客:
湾区日报 https://wanqu.co/
边栏推荐
- OSPO 五阶段成熟度模型解析
- AcWing 797. 差分
- 17、负载均衡
- 10 个 PHP 代码安全漏洞扫描程序
- Source code analysis of GZIPOutputStream class
- Creo5.0草绘如何绘制正六边形
- Choosing the right DevOps tool starts with understanding DevOps
- Heavy cover special | intercept 99% malicious traffic, reveal WAF offensive and defensive drills best practices
- Win11如何删除升级包?Win11删除升级包的方法
- 30天刷题计划(五)
猜你喜欢

Database Plus 的云上之旅:SphereEx 正式开源 ShardingSphere on Cloud 解决方案

Greenplum Database Source Code Analysis - Analysis of Standby Master Operation Tools

MySQL开发技巧——存储过程

如何记录分析你的炼丹流程—可视化神器Wandb使用笔记【1】

【kali-信息收集】(1.5)系统指纹识别:Nmap、p0f

17、负载均衡

DAO开发教程【WEB3.0】

明日盛会|ApacheCon Asia 2022 Pulsar 技术议题一览

Win11如何删除升级包?Win11删除升级包的方法

百度无人驾驶商业化已“上路”
随机推荐
Compose实战-实现一个带下拉加载更多功能的LazyColumn
【kali-信息收集】(1.5)系统指纹识别:Nmap、p0f
How to query database configuration parameters in GBase 8c, such as datestyle.What function or syntax to use?
In the background of the GBase 8c database, what command is used to perform the master-slave switchover operation for the gtm and dn nodes?
第57章 业务逻辑之业务实体与数据库表的映射规则定义
Combining two ordered arrays
nacos安装与配置
datax - 艰难debug路
The graphic details Eureka's caching mechanism/level 3 cache
Risc-v Process Attack
数据库系统原理与应用教程(070)—— MySQL 练习题:操作题 101-109(十四):查询条件练习
SQL的 ISNULL 函数
Win11如何删除升级包?Win11删除升级包的方法
LabVIEW 使用VISA Close真的关闭COM口了吗
数值矩阵的图形表示
【kali-信息收集】(1.6)服务的指纹识别:Nmap、Amap
力扣刷题之移动零
Win11怎么安装语音包?Win11语音包安装教程
短视频软件开发,Android开发,使用Kotlin实现WebView
【kali-信息收集】(1.2)SNMP枚举:Snmpwalk、Snmpcheck;SMTP枚举:smtp-user-enum