首页 > TAG信息列表 > Max1

leetcode42. 接雨水

给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。     输入:height = [0,1,0,2,1,0,1,3,2,1,2,1]输出:6解释:上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。 示例 2:

BUPT 2022 Summer Training #2(2018-2019 ACM-ICPC, Asia Seoul Regional Contest)

E-LED 题目大意:已知N个点(vi,li),求一个分段函数使得这些点在这个函数上的误差的最大值最小。 数据范围:1≤N≤300000,0≤vi,li≤1e9; 解题思路:二分贪心。 二分答案后尽量将排序后的数据归到L1,接着再放到L2,不能放了就是答案无效。 这题的坑在于v=0这个点L0一定为0,还有L1≤L2,所以对于

python 练习题 976. 三角形的最大周长

题目:https://leetcode.cn/problems/largest-perimeter-triangle/   ''' 给定由一些正数(代表长度)组成的数组 nums ,返回 由其中三个长度组成的、面积不为零的三角形的最大周长 。如果不能形成任何面积不为零的三角形,返回 0。   示例 1: 输入:nums = [2,1,2] 输出:5 示例 2: 输

洛谷P2216 HAOI2007 理想的正方形 (单调队列)

题目就是要求在n*m的矩形中找出一个k*k的正方形(理想正方形),使得这个正方形内最值之差最小(就是要维护最大值和最小值),显然我们可以用单调队列维护。 但是二维平面上单调队列怎么用? 我们先对行处理,将其压缩为一个(n-k+1)*m的矩形;再对列进行处理,最终压缩为一个(n-k+1)*(m-k+1)的矩形,枚举最大

P3174 [HAOI2009] 毛毛虫

非常好的一道树形dp 我开始一直陷入了思维误区 认为最优解可能不但是从子树转移过来还可能是从父亲转移过来的 这就非常头疼了 转移方程不好写啊 但实际上直接从下向上转移就好 为什么 因为最优解 保证一定存在一个节点 最优解为该节点最大子树和次大子树之和 最为极端的情况就是

1522. Diameter of N-Ary Tree

This is a similar problem with "543. Diameter of Binary Tree", the only difference is 543 is a binary tree, and 1522 is an n_ary tree. For 1522, we need to get the two longest path passing through the node, following is the solution: privat

题解 CF1632E2 【Distance Tree (hard version)】

题意:有一棵 \(n\) 个点的树,每条边长度为 \(1\)。现在加一条权值为 \(x\) 的边,最小化 \(f(x) = \max\limits_{i = 1} ^ {n} d_i\)。其中 \(d_i\) 表示点 \(1\) 到点 \(i\) 的最短距离。 对于 \(x \in [1, n]\),求出 \(f(x)\)。 \(n \leq 3 \times 10 ^ 5\)。 首先,为了最优,我们每次添

LeetCode-最大正方形-动态规划

最大正方形 在一个由 '0' 和 '1' 组成的二维矩阵内,找到只包含 '1' 的最大正方形,并返回其面积。 分析: #include<bits/stdc++.h> #include<vector> class Solution { public: int min33(int a,int b,int c){ int min3=a; if(a>b) min3=b;

蓝桥杯—稍小分数—java

题目描述 x星球数学城的入口验证方式是: 屏幕上显示一个真分数,需要你快速地找到一个比它小的既约分数,要求这个分数越大越好。 同时限定你的这个分数的分母不能超过100。 思路: 什么是真分数:分子小于分母的分数 什么是既约分数:分子分母互质,也就是说最大公约数是1 其次先构造出最

LC-628-三个数的最大乘积

问题描述: 给你一个整型数组 nums ,在数组中找出由三个数组成的最大乘积,并输出这个乘积。 解决思路: 通过一次遍历,找出max1,max2,max3,min1,min2, 三个数相乘,若数组中全为正数,则找出最大的三个数相乘即为最大,若全为负数,则也是找出最大的三个相乘即为最大,当有正有负时,则,需要找出

随机输入10个数,然后从中找出第一大数和第二大数

#include <stdio.h> void main() { int n,max1,max2,x; scanf("%d",&max1); scanf("%d",&max2); //分别将第一个数赋值给max1,第二个数赋值给max2 if(max1<max2) { x=max1; max1=max2; max2=x; //将前两位数进行比较,使max1是较大的

Python编程题36--三个数的最大乘积

题目 给定一个整数列表 nums ,且 nums 中至少含有3个整数,请在列表中找出由三个数组成的最大乘积,并输出这个乘积。 例如: 给定一个列表:[1, 2, 3],返回结果:6 给定一个列表:[1, 2, -3, -3, 0],返回结果:18 实现思路1 使用 排序 的方式来实现,但时间复杂度为 O(nlog(n)) 先对 nums 进行排

记一个,做了挺久蛮有成就感的万恶清明sama!

    #include<stdio.h>int main(){   int n,m,a[105][105];   int max[3]={0},max1,max2;   int cnt1[105]={0},cnt2[105]={0};   scanf("%d %d",&n,&m);   for(int i=0;i<n;i++)   {     for(int j=0;j<m;j++)

7-15 跳一跳 (100 分)

Drizzle 面前有一条由一堆非负整数组成的道路,从第一个数字起步,每次他都能跳出不大于当前数字的距离,每个数字之间的距离为1,那么他最少需要跳多少次才能到达终点? 要求: 输入:第一行输入道路中数字的个数n也就是道路的长度,第二行输入这n个数字 下面展示一些 内联代码片。 下面展

数组主元素(2013考研题)

【问题描述】 已知一个整数序列A长度为N其中若存在a且a的个数大于N/2则称为A的主元素 例如0 5 5 3 5 7 5 5 则为主元素 5 又如0 5 5 3 5 1 5 7则中没有主元素。 假设中的个元素保存在一个一维数组中,请设计一个尽可能高效的算法,找出的主元素。若存在主元素则输出该元素否则输出 【

2021-08-031179 最大的最大公约数

题目链接 给出N个正整数,找出N个数两两之间最大公约数的最大值。例如:N = 4,4个数为:9 15 25 16,两两之间最大公约数的最大值是15同25的最大公约数5。 输入 第1行:一个数N,表示输入正整数的数量。(2 <= N <= 50000) 第2 - N + 1行:每行1个数,对应输入的正整数.(1 <= S[i] <= 1000000)

最大子段和(两种思路dp)

目录 题目描述样例输入输出两种解决方法第一种dp第二种 题目描述 给定n个整数(可能是负数)组成的序列a[1], a[2], a[3], …, a[n],求该序列的子段和如a[i]+a[i+1]+…+a[j]的最大值。 输入 每组输入包括两行,第一行为序列长度n,第二行为序列。 输出 输出字段和的最大值。 样

三个数的最大乘积

整型数组nums,在数组中找出由三个数字组成的最大乘积,并输出这个乘积 乘积不会越界 public class MaxProduct { public static void main(String[] args) { System.out.println(sort(new int[]{-1,-2,-3,-4,-5,-6})); System.out.println(getMaxMin(new int[]{1

HDU1559

Sample Input 1 4 5 2 2 3 361 649 676 588 992 762 156 993 169 662 34 638 89 543 525 165 254 809 280 Sample Output       2474 解题思路 :状态dp[i][j]代表长i宽j的矩阵的元素和。        dp[i][j]=dp[i][j-1]+dp[i-1][j]-ap[i-1][j-1]; 假设矩

AcWing 3760. 最大剩余油量(树的最长路径)

题目 一个国家由 n 个城市组成,这 n 个城市由 n−1 条双向道路连接,呈一个树形结构。 每个城市都设有加油站,在第 i 个城市可以购买 wi 升汽油。 汽车在道路上行驶,毫无疑问也会消耗汽油,每条道路的具体耗油量也会给出。 现在,需要制定一条汽车的行进路线,从任意城市 s 出发,经过一条简单

poj 1852 Ants

http://poj.org/problem?id=1852 题目大意 army 陆军,大军 reside 居住 一群蚂蚁走在长为 1 c m 1cm 1cm的水平杆上,每个的速度是

TernaryOperatorExercise

实现三个值的最大值: public class Change{ public static void main(String[] args){ int a = 10; int b = 89; int c = 99; int max1 = a > b ? a: b;//先比较两个数的大小 int max2 = max1 >c? max1:c;//再拿与第三个数进行比较 System

C语言仅凭自学能到什么高度?

先来测测你现在的C语言水平怎么样… 假如现在你去一家公司面试,要求:定义一个宏,求两个数中的最大数。 此处不要再往下看,停顿5分钟,写出你的答案,然后跟后面的答案对比。 -----------停顿5分钟------------------------------------ 合格 对于学过C语言的同学,写出这个宏基本上不是

算法分析:三个数的最大乘积

目录 前言第一种解法:先排序再找第二种解法:线性布局总结 前言 这题太简单了,就是从数组里找出三个数乘积最大项目网址:https://leetcode-cn.com/problems/maximum-product-of-three-numbers/ 第一种解法:先排序再找 这个题目一般两种情况,一种是有负数,一种是没负数,先说没有负

抛硬币

题目要求: 编写代码实现以下功能: 1、抛硬币100次,记录情况:正面朝上为1,反面朝上为0; 2、统计0出现的总次数total0,1出现的总次数total1; 3、统计0连续出现的最大次数max0,1连续出现的最大次数max1; 4、如果需要,提供中间变量名供大家参考:current0,current1; 5、举例:假设投币结果cointoss="0