当前位置:网站首页>Byte interview algorithm question
Byte interview algorithm question
2022-07-04 13:51:00 【Zijin xiaofeixia】
Triangle shortest path and ( Dynamic programming )
Triangle shortest path and ( Dynamic programming )
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Solution {
public int minimumTotal(List<List<Integer>> triangle) {
// Processing of a number
if (triangle.size() == 1) return triangle.get(0).get(0);
int min = Integer.MAX_VALUE;
int rec[][] = new int[triangle.size()][];
for (int i = 0; i < triangle.size(); ++i){
rec[i] = new int[i + 1];
}
rec[0][0] = triangle.get(0).get(0);
for (int i = 0; i < triangle.size() - 1; ++i){
List<Integer> curLine = triangle.get(i);
List<Integer> nextLine = triangle.get(i + 1);
for (int j = 0; j < triangle.get(i).size(); ++j){
int first = nextLine.get(j);
int second = nextLine.get(j + 1);
int cur = rec[i][j];
/* When it is the first one, it should be added directly, and the minimum value can be judged in the rest cases, because there are two paths to reach this position, and these two paths need to be compared */
if (j == 0){
//j == 0 The situation of
rec[i + 1][j] = first + cur;
rec[i + 1][j + 1] = second + cur;
}else {
//j > 1 The previous values need to be compared
rec[i + 1][j] = Math.min(rec[i + 1][j], cur + first);
// For the second position, add it directly, because next time, this position will turn into the first position, and the minimum value will be compared. It is easy to understand to draw a figure on the paper
rec[i + 1][j + 1] = second + cur;
}
}
}
for (int i = 0; i < triangle.size(); ++i){
min = Math.min(min, rec[triangle.size() - 1][i]);
}
return min;
}
}
Binary tree traversal
Chinese characters and numbers transformation int

import java.util.regex.Pattern;
public class MoneyTest {
public static long parse(String money) {
long result = 0;
char c = 0;
boolean flag = Pattern.matches("^.* Billion .* ten thousand .*$", money);
for (int i = 0; i < money.length(); i++) {
switch (money.charAt(i)) {
case ' zero ':
break;
case ' One ':
c = 1;
break;
case ' Two ':
c = 2;
break;
case ' 3、 ... and ':
c = 3;
break;
case ' Four ':
c = 4;
break;
case ' 5、 ... and ':
c = 5;
break;
case ' 6、 ... and ':
c = 6;
break;
case ' 7、 ... and ':
c = 7;
break;
case ' 8、 ... and ':
c = 8;
break;
case ' Nine ':
c = 9;
break;
case ' Ten ':
result += (c == 0 ? 10 : c * 10);
c = 0;
break;
case ' hundred ':
result += c * 100;
c = 0;
break;
case ' thousand ':
result += c * 1000;
c = 0;
break;
case ' ten thousand ':
result = (result + c) * 10000;
c = 0;
break;
case ' Billion ':
if (flag){
result = (result + c) * 10000;
}else{
result = (result + c) * 100000000;
}
c = 0;
break;
default:
c = 0;
}
}
if (c != 0)
result += c;
return result;
}
public static void main(String args[]) {
System.out.println(MoneyTest.parse(" 13.4 billion, 10.2 million, 26.69 million "));
}
}
边栏推荐
- Talk about the design and implementation logic of payment process
- 一个数据人对领域模型理解与深入
- HAProxy高可用解决方案
- ASP. Net core introduction I
- [AI system frontier dynamics, issue 40] Hinton: my deep learning career and research mind method; Google refutes rumors and gives up tensorflow; The apotheosis framework is officially open source
- Commvault 和 Oracle 合作,在 Oracle 云上提供 Metallic数据管理即服务
- Reading cognitive Awakening
- Three schemes to improve the efficiency of MySQL deep paging query
- CommVault cooperates with Oracle to provide metallic data management as a service on Oracle cloud
- 聊聊支付流程的设计与实现逻辑
猜你喜欢

Introduction to reverse debugging PE structure resource table 07/07

CA: efficient coordinate attention mechanism for mobile terminals | CVPR 2021

高质量软件架构的唯一核心指标

CTF competition problem solution STM32 reverse introduction

8 expansion sub packages! Recbole launches 2.0!

unity不识别rider的其中一种解决方法

Flet tutorial 03 basic introduction to filledbutton (tutorial includes source code) (tutorial includes source code)

Oracle was named the champion of Digital Innovation Award by Ventana research

Talk about the design and implementation logic of payment process

ViewBinding和DataBinding的理解和区别
随机推荐
面试官:Redis中哈希数据类型的内部实现方式是什么?
Oracle was named the champion of Digital Innovation Award by Ventana research
使用宝塔部署halo博客
爬虫练习题(一)
"Tips" to slim down Seurat objects
Use fail2ban to prevent password attempts
实时云交互如何助力教育行业发展
Personalized online cloud database hybrid optimization system | SIGMOD 2022 selected papers interpretation
Meituan Ali's Application Practice on multimodal recall
Zhongang Mining: in order to ensure sufficient supply of fluorite, it is imperative to open source and save flow
Reading cognitive Awakening
The old-fashioned synchronized lock optimization will make it clear to you at once!
mysql三级分销代理关系存储
N++ is not reliable
MySQL three-level distribution agent relationship storage
数据库公共字段自动填充
C语言程序设计
C语言课程设计题
[AI system frontier dynamics, issue 40] Hinton: my deep learning career and research mind method; Google refutes rumors and gives up tensorflow; The apotheosis framework is officially open source
聊聊支付流程的设计与实现逻辑