当前位置:网站首页>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 "));
}
}
边栏推荐
- C language staff management system
- ASP.NET Core入门一
- 再说rsync+inotify实现数据的实时备份
- 结合案例:Flink框架中的最底层API(ProcessFunction)用法
- unity不识别rider的其中一种解决方法
- Building intelligent gray-scale data system from 0 to 1: Taking vivo game center as an example
- N++ is not reliable
- 担心“断气” 德国正修改《能源安全法》
- C#基础深入学习一
- Introduction to reverse debugging PE structure resource table 07/07
猜你喜欢
Samsung's mass production of 3nm products has attracted the attention of Taiwan media: whether it can improve the input-output rate in the short term is the key to compete with TSMC
免费、好用、强大的轻量级笔记软件评测:Drafts、Apple 备忘录、Flomo、Keep、FlowUs、Agenda、SideNote、Workflowy
Introduction to reverse debugging PE structure resource table 07/07
Go 语言入门很简单:Go 实现凯撒密码
unity不识别rider的其中一种解决方法
CVPR 2022 | transfusion: Lidar camera fusion for 3D target detection with transformer
Reptile exercises (I)
实战:fabric 用户证书吊销操作流程
Haproxy high availability solution
N++ is not reliable
随机推荐
Runc hang causes the kubernetes node notready
Excuse me, have you encountered this situation? CDC 1.4 cannot use timestamp when connecting to MySQL 5.7
Using nsproxy to forward messages
8 expansion sub packages! Recbole launches 2.0!
.Net之延迟队列
高效!用虚拟用户搭建FTP工作环境
CA: efficient coordinate attention mechanism for mobile terminals | CVPR 2021
使用宝塔部署halo博客
Golang sets the small details of goproxy proxy proxy, which is applicable to go module download timeout and Alibaba cloud image go module download timeout
How real-time cloud interaction helps the development of education industry
C语言课程设计题
WPF double slider control and forced capture of mouse event focus
iptables基础及Samba配置举例
结合案例:Flink框架中的最底层API(ProcessFunction)用法
XML入门二
c#数组补充
源码编译安装MySQL
Annual comprehensive analysis of China's mobile reading market in 2022
MySQL three-level distribution agent relationship storage
Zhongang Mining: in order to ensure sufficient supply of fluorite, it is imperative to open source and save flow