数据结构
ListNode* max_x= new ListNode(0)
1、slow->1 fast->2
2、fast = null -> 无环
https:
1、push可以传入已构造对象
2、emplace可以传入构造对象所需元素
struct cmp1{
bool operator()(pair<int,int> p1,pair<int,int> p2){
return p1.first > p2.first;
}
}
unordered_map<string,vector<string>>map;
二分法
- 二分法中的“二”并不是指将其分成相等的两份,而是取一个值与target value进行比较,故不要纠结每次的“二”是否在中间。
int search(int nums[], int size, int target)
{
int left = 0;
int right = size - 1;
while (left <= right) {
int middle = left + ((right - left) / 2);
if (nums[middle] > target) {
right = middle - 1;
} else if (nums[middle] < target) {
left = middle + 1;
} else {
return middle;
}
}
return -1;
}
int search(int nums[], int size, int target)
{
int left = 0;
int right = size;
while (left < right) {
int middle = left + ((right - left) / 2);
if (nums[middle] > target) {
right = middle;
} else if (nums[middle] < target) {
left = middle + 1;
} else {
return middle;
}
}
return -1;
}