Skip to content

Commit f3e45cb

Browse files
committed
Some renames
1 parent 0baf54e commit f3e45cb

29 files changed

+427
-271
lines changed
Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
/**
2-
* @param {number[]} nums
3-
* @return {number}
4-
*/
5-
var singleNumber = function(nums) {
6-
let xor = 0;
7-
nums.forEach(n => xor = xor ^ n);
8-
return xor;
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var singleNumber = function(nums) {
6+
let xor = 0;
7+
nums.forEach(n => xor = xor ^ n);
8+
return xor;
99
};
Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -1,42 +1,42 @@
1-
class MinStack {
2-
stack<int> s1, s2;
3-
public:
4-
5-
/** initialize your data structure here. */
6-
MinStack() {
7-
s1 = stack<int>();
8-
s2 = stack<int>();
9-
}
10-
11-
void push(int x) {
12-
s1.push(x);
13-
if(s2.empty() || x <= getMin()){
14-
s2.push(x);
15-
}
16-
}
17-
18-
void pop() {
19-
int x = s1.top();
20-
s1.pop();
21-
if(!s2.empty() && x == getMin()){
22-
s2.pop();
23-
}
24-
}
25-
26-
int top() {
27-
return s1.top();
28-
}
29-
30-
int getMin() {
31-
return s2.top();
32-
}
33-
};
34-
35-
/**
36-
* Your MinStack object will be instantiated and called as such:
37-
* MinStack* obj = new MinStack();
38-
* obj->push(x);
39-
* obj->pop();
40-
* int param_3 = obj->top();
41-
* int param_4 = obj->getMin();
1+
class MinStack {
2+
stack<int> s1, s2;
3+
public:
4+
5+
/** initialize your data structure here. */
6+
MinStack() {
7+
s1 = stack<int>();
8+
s2 = stack<int>();
9+
}
10+
11+
void push(int x) {
12+
s1.push(x);
13+
if(s2.empty() || x <= getMin()){
14+
s2.push(x);
15+
}
16+
}
17+
18+
void pop() {
19+
int x = s1.top();
20+
s1.pop();
21+
if(!s2.empty() && x == getMin()){
22+
s2.pop();
23+
}
24+
}
25+
26+
int top() {
27+
return s1.top();
28+
}
29+
30+
int getMin() {
31+
return s2.top();
32+
}
33+
};
34+
35+
/**
36+
* Your MinStack object will be instantiated and called as such:
37+
* MinStack* obj = new MinStack();
38+
* obj->push(x);
39+
* obj->pop();
40+
* int param_3 = obj->top();
41+
* int param_4 = obj->getMin();
4242
*/
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/**
2+
* Definition for a binary tree node.
3+
* function TreeNode(val) {
4+
* this.val = val;
5+
* this.left = this.right = null;
6+
* }
7+
*/
8+
/**
9+
* @param {TreeNode} root
10+
* @return {number}
11+
*/
12+
var diameterOfBinaryTree = function(root) {
13+
if(root == null) return 0;
14+
return diameterAndMaxHeightOfBinaryTree(root).diameter - 1;
15+
};
16+
17+
var diameterAndMaxHeightOfBinaryTree = function(root) {
18+
if(root == null){
19+
return {
20+
height: 0,
21+
diameter: 0
22+
};
23+
}
24+
let dlh = diameterAndMaxHeightOfBinaryTree(root.left);
25+
let drh = diameterAndMaxHeightOfBinaryTree(root.right);
26+
return {
27+
height: Math.max(dlh.height, drh.height)+1,
28+
diameter: Math.max(dlh.diameter, drh.diameter, dlh.height + drh.height + 1)
29+
};
30+
};
Lines changed: 25 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,26 @@
1-
class Solution {
2-
public:
3-
int lastStoneWeight(vector<int>& stones) {
4-
priority_queue<int> stonesq;
5-
for(int i=0; i<stones.size(); i++){
6-
stonesq.push(stones[i]) ;
7-
}
8-
if(stonesq.size() == 1){
9-
return stonesq.top();
10-
}
11-
while(!stonesq.empty()){
12-
int x = stonesq.top();
13-
stonesq.pop();
14-
int y = stonesq.top();
15-
stonesq.pop();
16-
if(x != y){
17-
stonesq.push(abs(x-y));
18-
}
19-
20-
if(stonesq.size() == 1){
21-
return stonesq.top();
22-
}
23-
}
24-
return 0;
25-
}
1+
class Solution {
2+
public:
3+
int lastStoneWeight(vector<int>& stones) {
4+
priority_queue<int> stonesq;
5+
for(int i=0; i<stones.size(); i++){
6+
stonesq.push(stones[i]) ;
7+
}
8+
if(stonesq.size() == 1){
9+
return stonesq.top();
10+
}
11+
while(!stonesq.empty()){
12+
int x = stonesq.top();
13+
stonesq.pop();
14+
int y = stonesq.top();
15+
stonesq.pop();
16+
if(x != y){
17+
stonesq.push(abs(x-y));
18+
}
19+
20+
if(stonesq.size() == 1){
21+
return stonesq.top();
22+
}
23+
}
24+
return 0;
25+
}
2626
};
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
/**
2+
* @param {number[]} nums
3+
* @return {number}
4+
*/
5+
var findMaxLength = function(nums) {
6+
let k = 0, maxLength = 0, map = {0: -1};
7+
nums.forEach((n, i) => {
8+
if(!map.hasOwnProperty(n == 0 ? ++k : --k)){
9+
map[k] = i;
10+
} else {
11+
maxLength = Math.max(maxLength, i - map[k]);
12+
}
13+
})
14+
return maxLength;
15+
};
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/**
2+
* @param {string} s
3+
* @param {number[][]} shift
4+
* @return {string}
5+
*/
6+
var stringShift = function(s, shift) {
7+
let k = 0;
8+
shift.forEach(sh => { k += (sh[0] == 0 ? 1 : -1) * sh[1]});
9+
if(k < 0){
10+
k = k * -1;
11+
k = k % s.length;
12+
let l = s.substr(s.length - k, k);
13+
let r = s.substr(0, s.length - k);
14+
return l + r;
15+
} else {
16+
k = k % s.length;
17+
let l = s.substr(k, s.length - k);
18+
let r = s.substr(0, k);
19+
return l + r;
20+
}
21+
};
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,22 @@
1-
/**
2-
* @param {number[]} nums
3-
* @return {number[]}
4-
*/
5-
var productExceptSelf = function(nums) {
6-
let output = nums.map(n => 0);
7-
output[0] = nums[0];
8-
for(let i=1; i<nums.length; i++){
9-
output[i] = output[i-1] * nums[i];
10-
}
11-
for(let i=nums.length-2; i>=0; i--){
12-
nums[i] = nums[i+1] * nums[i];
13-
}
14-
15-
output[nums.length - 1] = output[nums.length - 2];
16-
for(let i=nums.length - 2; i > 0; i--){
17-
output[i] = output[i-1] * nums[i+1];
18-
}
19-
output[0] = nums[1];
20-
21-
return output;
1+
/**
2+
* @param {number[]} nums
3+
* @return {number[]}
4+
*/
5+
var productExceptSelf = function(nums) {
6+
let output = nums.map(n => 0);
7+
output[0] = nums[0];
8+
for(let i=1; i<nums.length; i++){
9+
output[i] = output[i-1] * nums[i];
10+
}
11+
for(let i=nums.length-2; i>=0; i--){
12+
nums[i] = nums[i+1] * nums[i];
13+
}
14+
15+
output[nums.length - 1] = output[nums.length - 2];
16+
for(let i=nums.length - 2; i > 0; i--){
17+
output[i] = output[i-1] * nums[i+1];
18+
}
19+
output[0] = nums[1];
20+
21+
return output;
2222
};
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
/**
2+
* @param {number[]} nums
3+
* @param {number} target
4+
* @return {number}
5+
*/
6+
var search = function(nums, target) {
7+
return search2(nums, target, 0, nums.length - 1);
8+
};
9+
10+
var search2 = function(nums, target, start, end) {
11+
if(nums[start] == target){
12+
return start;
13+
}
14+
if(nums[end] == target){
15+
return end;
16+
}
17+
if(start >= end){
18+
return -1;
19+
}
20+
let midPoint = Math.floor((start + end) / 2);
21+
if(nums[midPoint] == target){
22+
return midPoint;
23+
}
24+
if((nums[start] < nums[midPoint] && nums[start] < target && target < nums[midPoint]) ||
25+
(nums[start] > nums[midPoint] && (nums[start] < target || target < nums[midPoint]))){
26+
return search2(nums, target, start, midPoint - 1);
27+
}
28+
else if((nums[midPoint] < nums[end] && nums[midPoint] < target && target < nums[end]) ||
29+
(nums[midPoint] > nums[end] && (nums[midPoint] < target || target < nums[end]))){
30+
return search2(nums, target, midPoint + 1, end);
31+
}
32+
return -1;
33+
};
34+
35+

0 commit comments

Comments
 (0)