Skip to content

Commit bcd8490

Browse files
Merge branch 'master' of https://github.com/jinshendan/Leetcode
2 parents 4ceb767 + 4c4710c commit bcd8490

File tree

5 files changed

+80
-0
lines changed

5 files changed

+80
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
public class Helper {
2+
public int a;
3+
public int b;
4+
public int diff {get {return b-a;}}
5+
}
6+
7+
public class Solution {
8+
public int TwoCitySchedCost(int[][] costs) {
9+
var helpers = new List<Helper>();
10+
for(int i = 0; i < costs.Length; i++)
11+
{
12+
helpers.Add(new Helper(){
13+
a = costs[i][0],
14+
b = costs[i][1],
15+
});
16+
}
17+
helpers = helpers.OrderBy(h => h.diff ).ToList();
18+
19+
int result = 0;
20+
for(int i = 0; i < helpers.Count; i++)
21+
{
22+
var helper = helpers[i];
23+
result += i < helpers.Count/2 ? helper.b : helper.a;
24+
}
25+
return result;
26+
}
27+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
class Question03 {
2+
// sort by difference O(n2)
3+
object Solution {
4+
def twoCitySchedCost(costs: Array[Array[Int]]): Int = {
5+
costs.sortBy(t => t(0) - t(1)).zipWithIndex.foldLeft(0) {
6+
case (acc, (t, index)) => acc + (if (index < costs.length / 2) t(0) else t(1))
7+
}
8+
}
9+
}
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
class Solution {
2+
public:
3+
void reverseString(vector<char>& s) {
4+
int n = s.size();
5+
for (int i = 0; i < n / 2; i++){
6+
char t = s[i];
7+
s[i] = s[n - i - 1];
8+
s[n - i- 1] = t;
9+
}
10+
}
11+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
/**
2+
* @param {character[]} s
3+
* @return {void} Do not return anything, modify s in-place instead.
4+
*/
5+
var reverseString = function(s) {
6+
var i = 0;
7+
var j = s.length-1;
8+
while(i<j){
9+
let tmp = s[i];
10+
s[i]=s[j];
11+
s[j]=tmp;
12+
i++;
13+
j--;
14+
}
15+
return s;
16+
};
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
class Question04 {
2+
3+
object Solution {
4+
def reverseString(s: Array[Char]): Unit = {
5+
var index = 0
6+
//not necessary to revert middle char in a odd array
7+
while (index < (s.length.toDouble - 1) / 2) {
8+
val tmp = s(index)
9+
s(index) = s(s.length - 1 - index)
10+
s(s.length - 1 - index) = tmp
11+
index += 1
12+
}
13+
}
14+
}
15+
16+
}

0 commit comments

Comments
 (0)