1131. 绝对值表达式的最大值

news2025/1/15 16:29:51

1131. 绝对值表达式的最大值

  • 原题链接:
  • 完成情况:
  • 解题思路:
    • 求方向
    • 一次遍历两度统计
  • 参考代码:
    • 求方向
    • 一次遍历两度统计

原题链接:

1131. 绝对值表达式的最大值

https://leetcode.cn/problems/maximum-of-absolute-value-expression/description/

完成情况:

在这里插入图片描述

解题思路:

求方向

在这里插入图片描述

一次遍历两度统计

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考代码:

求方向

package 西湖算法题解___中等题02;

public class __1131绝对值表达式的最大值__计算曼哈顿距离__求方向导数 {
	int [][] dirs = {{1,1,1},{-1,1,1},{-1,-1,1},{1,-1,1},{1,1,-1},{-1,1,-1},{-1,-1,-1},{1,-1,-1}};  //定义出八种abs拆解情况
	/**
	 *
	 * @param arr1
	 * @param arr2
	 * @return
	 */
	public int maxAbsValExpr(int[] arr1, int[] arr2) {
		int maxValue = 0;
		int n = arr1.length;
		for (int [] dir:dirs){  //选择其中的某一个方向
			//定义最大值,最小值出来,进行方向判断的赋值
			int maxPoint = Integer.MIN_VALUE,minPoint  = Integer.MAX_VALUE;
			for (int i=0;i<n;i++){  //八个方向全部去进行统计,然后得出在某点出会得到的最大值
				maxPoint = Math.max(maxPoint,arr1[i]*dir[0] + arr2[i]*dir[1] + i*dir[2]);
				minPoint = Math.min(minPoint,arr1[i]*dir[0] + arr2[i]*dir[1] + i*dir[2]);
			}
			maxValue = Math.max(maxValue,maxPoint-minPoint);
			//每个方向都去进行最大值的判断
		}
		return maxValue;
	}
}

一次遍历两度统计

package 西湖算法题解___中等题02;

public class __1131绝对值表达式的最大值__计算曼哈顿距离__一次遍历两度统计 {
	/**
	 通过拆解绝对值,然后去计算每一个点的情况,
	    即处于该点时,arr1[i]、arr2[i]、i三者任意拼接构成的最小值,最大值的情况

	 * @param arr1
	 * @param arr2
	 * @return
	 */
	public int maxAbsValExpr(int[] arr1, int[] arr2) {
		//一次遍历,用两个最大值max去进行统计。
		int aMin = Integer.MAX_VALUE,bMin = Integer.MAX_VALUE,cMin = Integer.MAX_VALUE,dMin = Integer.MAX_VALUE;
		int aMax = Integer.MIN_VALUE,bMax = Integer.MIN_VALUE,cMax = Integer.MIN_VALUE,dMax = Integer.MIN_VALUE;

		for (int i = 0;i< arr1.length;i++){ //同长度,一次遍历两度统计
			aMin = Math.min(aMin,arr1[i] + arr2[i]+i);
			aMax = Math.max(aMax,arr1[i] + arr2[i]+i);

			bMin = Math.min(bMin,arr1[i] + arr2[i]-i);
			bMax = Math.max(bMax,arr1[i] + arr2[i]-i);

			cMin = Math.min(cMin,arr1[i] - arr2[i]+i);
			cMax = Math.max(cMax,arr1[i] - arr2[i]+i);

			dMin = Math.min(dMin,arr1[i] - arr2[i]-i);
			dMax = Math.max(dMax,arr1[i] - arr2[i]-i);
		}
		return Math.max(Math.max((aMax - aMin),(bMax-bMin)),Math.max((cMax - cMin),(dMax-dMin)));
	}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1016587.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

网络安全深入学习第二课——热门框架漏洞(RCE—Thinkphp5.0.23 代码执行)

文章目录 一、什么是框架&#xff1f;二、导致框架漏洞原因二、使用步骤三、ThinkPHP介绍四、Thinkphp框架特征五、Thinkphp5.0.23 远程代码执行1、漏洞影响范围2、漏洞成因 六、POC数据包Windows下的Linux下的 七、漏洞手工复现1、先Burp抓包&#xff0c;把抓到的请求包发送到…

【AI语言大模型】文心一言功能使用介绍

一、前言 文心一言是一个知识增强的大语言模型,基于飞桨深度学习平台和文心知识增强大模型,持续从海量数据和大规模知识中融合学习具备知识增强、检索增强和对话增强的技术特色。 最近收到百度旗下产品【文心一言】的产品,抱着试一试的心态体验了一下,整体感觉:还行! 二…

自动化测试API【软件测试】

自动化测试 selenium 1. 为什么使用selenium&#xff1f; 开源免费支持多浏览器支持多系统支持多语言编程提供了丰富的web自动化测试API 2. API 查找页面元素 find Element() find Elements() 元素定位的方式 xpath selector 通常情况下&#xff0c;不需要手动来编写xpath…

Learn Prompt-经验法则

还记得我们在“基础用法”当中提到的三个经验法则吗&#xff1f; 尝试提示的多种表述以获得最佳结果使用清晰简短的提示&#xff0c;避免不必要的词语减少不精确的描述 现在经过了几页的学习&#xff0c;我认为是时候引入一些新的原则了。 3. 一个话题对应一个chat​ ChatG…

Kafka开篇

前言 从本篇开始对个人Kafka学习做一个总结, 目标有这么几个。 从概念架构角度, 对消息中间件形成概要认知;从使用角度, 掌握其常见用法;从性能角度, 探究其高性能实现机制; 消息中间件的用途 从消息生产和消费的角度, 平衡消费者和消费者的速率差。基于该点可以做到削峰填…

白炽灯对新生儿视力有影响吗?推荐专业的儿童台灯

大家都知道婴儿还在成长发育的重要阶段&#xff0c;身体各方面都是比较脆弱的&#xff0c;对外界事务的感知也很敏感&#xff0c;一点点的刺激都会影响的婴儿。而白炽灯是否适合婴儿使用这个问题&#xff0c;我的建议是尽量不要用白炽灯。 因为白炽灯光线不是很柔和&#xff0c…

周易算卦流程c++实现

代码 #include<iostream> using namespace std; #include<vector> #include<cstdlib> #include<ctime> #include<Windows.h>int huaYiXiangLiang(int all, int& left) {Sleep(3000);srand(time(0));left rand() % all 1;while (true) {if…

许可分析 license分析 第十二章

许可分析是指对软件许可证进行详细的分析和评估&#xff0c;以了解组织内部对软件许可的需求和使用情况。通过许可分析&#xff0c;可以帮助组织更好地管理和优化软件许可证的使用。以下是一些可能的许可分析方法和步骤&#xff1a; 软件许可证的分配和使用权限&#xff1a;制定…

01Spring的Ioc思想和依赖注入手段(DI)

传统方式创建对象的缺陷 连接MySQL实现登录功能 控制层UserController public class UserController {//多态,半面向接口编程private UserService userService new UserServiceImpl();public void login(){String username "admin";String password "1234…

基于 Zookeeper 实现分布式锁

文章目录 前言声明前置知识分布式锁设计原则Zookeeper 分布式锁实现Curator框架实现分布式锁总结 前言 在分布式系统中&#xff0c;确保数据的一致性和避免冲突是一个核心问题&#xff0c;通常我们通过分布式锁来解决&#xff0c;分布式锁本质是一种同步机制&#xff0c;用于控…

【AI】机器学习——支持向量机(线性模型)

支持向量机是一种二分类算法&#xff0c;通过在高维空间中构建超平面实现对样本的分类 文章目录 5.1 SVM概述5.1.1 分类 5.2 线性可分SVM5.2.1 线性可分SVM基本思想5.2.2 策略函数间隔几何间隔硬间隔最大化 5.2.3 原始算法支持向量 5.2.4 对偶形式算法1. 构造并求解对偶问题2. …

【小沐学CAD】嵌入式UI开发工具:GL Studio

文章目录 1、简介2、软件功能3、应用行业3.1 航空3.2 汽车3.3 防御3.4 工业3.5 电力与能源3.6 医疗3.7 空间3.8 科技 结语 1、简介 https://disti.com/gl-studio/ DiSTI 是 HMI 软件、虚拟驾驶舱、仪表、信息娱乐、集群显示器和嵌入式 UI 解决方案的领先提供商。 而它的GL Stu…

kubernetes部署(kubeadmin)

文章目录 1.环境准备2. 安装dokcer3.部署cri-docker4.各个节点安装kubeadm等5.整合kubelet和cri-dockerd配置cri-dockerd配置kubelet 6.初始化集群 1.环境准备 环境和软件版本 OS : ubuntu 20.04 container runtime: docker CE 20.10.22 kubernetes 1.24.17 CRI&#xff1a;cr…

atoi函数

介绍&#xff1a; 头文件: <stdlib.h> 此函数的功能是将数字字符的字符串转化为字面上的整型返回。 例如&#xff1a; char arr1[] "-12"; char arr2[] "12"; char arr3[] " -12"; char arr4[] "-12a";使用atoi 我们…

Postman的高级用法一:重新认识postman核心模块

本请求示例来自于免费天气API&#xff1a; 实况天气接口API开发指南 未来一天天气预报api - 天气API 关于Postman的核心模块 全局变量请求接口请求体预处理脚本 类似beforeTest&#xff0c;在发起请求前的预执行逻辑&#xff0c;通常是生成一些动态变量值 测试用例模块 测试者…

RK3399平台开发系列讲解(入门篇)VIM的基础命令

🚀返回专栏总目录 文章目录 一、Vim 命令速查二、其他命令三、Vim模式沉淀、分享、成长,让自己和他人都能有所收获!😄 📢 本篇将介绍Vim相关命令。 一、Vim 命令速查 简单说明一下,这张图上展示了一个键盘。图中的“•”表示,单个字母不是完整的命令,必须再有进一步…

MFC使用MScomm32.ocx控件实现串口通信

文章目录 建立项目添加MSCOMM控件变量串口的打开和关闭串口发送和接收数据数据接收数据发送16进制数据的收发转换函数数据发送数据接收项目下载地址首先电脑应该有MSCOMM32.OCX并注册 建立项目 使用VS2005新建一个基于对话框的MFC项,在资源视图,右键窗体,插入ActiveX控件,…

基于Questasim的SystemVerilog DPI使用流程

1. 前言 DPI是Direct Programming Interface的缩写&#xff0c;它提供了SystemVerilog与其它编程语言(特别是C语言)交互的接口。它允许编程人员轻松地从SystemVerilog调用C函数&#xff0c;且在C函数也可以调用Systemverilog的函数。 DPI极大地方便了使用现有的C代码&#xf…

SpaceX预计到2022年Starlink用户将达到2000万,但最终达到了100万

SpaceX的Starlink部门还没有接近实现客户和收入的预测&#xff0c;该公司在建立卫星网络之前与投资者分享了这一点华尔街日报报道今天出版。 据报道&#xff0c;2015年的一份题为“SpaceX用来从投资者那里筹集资金”的报告预计&#xff0c;到2022年&#xff0c;Starlink的订户…

Linux安装RocketMQ

又又又....Linux裝RocketMQ。 vim命令找不到 rootlocalhost ~]# sudo vim sudo: vim&#xff1a;找不到命令 [rootlocalhost ~]# sudo yum install vim 已加载插件&#xff1a;fastestmirrorFile contains no section headers. file: file:///etc/yum.repos.d/mysql-communit…