-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExercises2.java
More file actions
98 lines (82 loc) · 3.01 KB
/
Copy pathExercises2.java
File metadata and controls
98 lines (82 loc) · 3.01 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Exercises2 {
/*
Given an array of integers nums and an integer target, return indices of the two numbers
such that they add up to target.
You may assume that each input would have exactly one solution, and you may not use the same element twice.
You can return the answer in any order.
*/
public int[] twoSum(int[] nums, int target) {
// TODO
for (int i = 0 ; i < nums.length ; i++){
for (int j = nums.length ; j > i ; j--){
if (nums[i] + nums [j] == target){
return new int []{i,j};
}
}
}
return null;
}
/*
Roman numerals are represented by seven different symbols: I, V, X, L, C, D and M.
Symbol Value
I 1
V 5
X 10
L 50
C 100
D 500
M 1000
For example, 2 is written as II in Roman numeral, just two ones added together.
12 is written as XII, which is simply X + II.
The number 27 is written as XXVII, which is XX + V + II.
Roman numerals are usually written largest to smallest from left to right.
However, the numeral for four is not IIII.
Instead, the number four is written as IV.
Because the one is before the five we subtract it making four.
The same principle applies to the number nine, which is written as IX.
There are six instances where subtraction is used:
I can be placed before V (5) and X (10) to make 4 and 9.
X can be placed before L (50) and C (100) to make 40 and 90.
C can be placed before D (500) and M (1000) to make 400 and 900.
Given a roman numeral, convert it to an integer.
*/
public int romanToInt(String s) {
// TODO
Map<Character, Integer> romanValues = new HashMap<>();
romanValues.put('I', 1);
romanValues.put('V', 5);
romanValues.put('X', 10);
romanValues.put('L', 50);
romanValues.put('C', 100);
romanValues.put('D', 500);
romanValues.put('M', 1000);
int result = 0;
for (int i = 0; i < s.length(); i++) {
char ch = s.charAt(i);
char nextChar = (i + 1 < s.length()) ? s.charAt(i + 1) : ' ';
int value = romanValues.get(ch);
if (nextChar != ' ' && romanValues.get(nextChar) > value) {
result -= value;
}
else {
result += value;
}
}
return result;
}
/*
Given an array nums of distinct integers, return all the possible permutations.
You can return the answer in any order.
*/
public List<List<Integer>> permute(int[] nums) {
// TODO
return null;
}
public static void main(String[] args) {
// test your code here!
}
}