LeetCode【7】-- 整数反转
size(); if (n == 0) return 0; int ans = INT_MAX; vector<int> sums(n); sums[0] = nums[0]; for (int i = 1; i < n; i++) sums[i] = sums[i - 1] + nums[i]; for (int i = 0; i < n; i++) { for (int j = i; j < n; j++) { int sum = sums[j] ...
push(INT_MAX); } void push(int x) { x_stack.push(x); min_stack.push(min(min_stack.top(), x)); } void pop() { x_stack.pop(); min_stack.pop(); } int top() { return x_stack.top(); } int getMin() { return min_stack.top(); } 这里的x_stack就是主栈,min_stack就...
}intmin(inta,intb,intc){if(a<b){if(b<c)returna;elseif(c<a)returnc;elsereturna; }else{if(a<c)returnb;elseif(c<b)returnc;elsereturnb; } }intmaxProduct(int* nums,intnumsSize){intmaxF=nums[0],minF=nums[0],ans=nums[0];for(inti=1;i<numsSize;i++){intmx=maxF, mn=minF...
$ cat baz.cpp #include <iostream> #include <climits> using namespace std; int main() { cout << "INT_MIN=" << INT_MIN << endl; cout << "INT_MAX=" << INT_MAX << endl; return 0; } $ g++ baz.cpp $ ./a.out INT_MIN=-2147483648 INT_MAX=2147483647 Edit & run on cpp.sh...
C1 = 0 —— 数组1整体都在右边了,所以都比中值大,中值在数组2中,简单的说就是数组1割后的左边是空了,所以我们可以假定LMax1 = INT_MIN C1 =2n —— 数组1整体都在左边了,所以都比中值小,中值在数组2中 ,简单的说就是数组1割后的右边是空了,所以我们可以假定RMin1= INT_MAX,来保证LMax2<RMin1恒...
int maxDepth(TreeNode*root) { if(!root) return 0; return max(maxDepth(root->left),maxDepth(root->right)) + 1; } }; 二、最小深度问题 最小深度是沿着从根节点到最近叶节点的最短路径的节点数量 描述: Given a binary tree, find its minimum depth. ...
CustomStack(int maxSize):用 maxSize 初始化对象,maxSize 是栈中最多能容纳的元素数量,栈在增长到 maxSize 之后则不支持 push 操作。void push(int x):如果栈还未增长到 maxSize ,就将 x 添加到栈顶。int pop():弹出栈顶元素,并返回栈顶的值,或栈为空时返回 -1 。void inc(int k, int val...
public int climbStairs(int n) { if(n <= 2) return n; int num1 = 1; int num2 = 2; int num3 = 3; for(int i = 3; i <= n; i++){ num3 = num1 + num2; num1 = num2; num2 = num3; } return num3; } }
因为我们最后要返回的是具体子串,而不是长度,因此,还需要记录一下 maxLen 时的起始位置(maxStart),即此时还要 maxStart=len。 // 时间O(n^2),空间O(1) class Solution { // 中心扩展法 public String longestPalindrome(String s) { int length = s.length(); ...