【题解 | 思维】三元组中心问题

三元组中心问题

在这里插入图片描述

注意点:

  1. 同一个位置的元素,不管以它为中心能组成多少个三元组,只记一个
  2. 不同索引位置的相同元素,算多个中心元素

常规暴力

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int numbers[] = new int[n + 1];for (int i = 1; i < n + 1; i++) {numbers[i] = in.nextInt();}int ans = 0;int help[] = new int[n + 1];for (int i = 1; i < n + 1; i++) {for (int j = i + 1; j < n + 1; j++) {for (int k = j + 1; k < n + 1; k++) {if (numbers[i] < numbers[j] && numbers[j] < numbers[k]) {help[j] = 1;}}}}for (int j = 1; j < n + 1; j++) {if (help[j] != 0) {ans++;}}System.out.println(ans);in.close();}
}

Stream流

import java.util.Arrays;
import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner in = new Scanner(System.in);int n = in.nextInt();int[] numbers = new int[n];for (int i = 0; i < n; i++) {numbers[i] = in.nextInt();}int ans = 0;for (int i = 1; i < n; i++) {if (numbers[i] > Arrays.stream(numbers, 0, i).min().getAsInt()&& numbers[i] < Arrays.stream(numbers, i, n).max().getAsInt()) {ans++;}}System.out.println(ans);in.close();}
}

对数组numbers进行遍历,从第二个元素开始,到倒数第二个元素结束(因为作为递增三元组的中心,至少需要有一个元素在它的左边和右边)。

对于每个元素,检查它是否大于它左边的所有元素中的最小值,并且小于它右边的所有元素中的最大值。如果满足这两个条件,那么这个元素就可能作为递增三元组的中心,计数器ans增加1。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ZABAPGIT问题,导入github上的程序包时报 DBSQL_DUPLICATE_KEY_ERROR

跟踪程序发现在94050行 INSERT seocompotx FROM TABLE it_descriptions 报的错 刚开始&#xff0c;不想着改动他&#xff0c;把seocompotx 表的数据做下指定清楚&#xff0c;但是5次清楚后&#xff0c;果断注释掉 改成 MODIFY seocompotx FROM TABLE it_descriptions。 在用…

[NeurIPS-23] GOHA: Generalizable One-shot 3D Neural Head Avatar

[pdf | proj | code] 本文提出一种基于单图的可驱动虚拟人像重建框架。基于3DMM给粗重建、驱动结果&#xff0c;基于神经辐射场给细粒度平滑结果。 方法 给定源图片I_s和目标图片I_t&#xff0c;希望生成图片I_o具有源图片ID和目标图片表情位姿。本文提出三个分支&#xff1a;…

静电纺聚丙烯腈(PAN)纳米纤维膜

静电纺聚丙烯腈&#xff08;PAN&#xff09;纳米纤维膜是通过静电纺丝技术制备的一种纳米级纤维膜材料。静电纺丝技术利用高压电场使带电的聚合物溶液或熔体在喷丝口形成细流&#xff0c;经过拉伸、固化后形成纳米纤维&#xff0c;最终收集形成纳米纤维膜。 PAN纳米纤维膜具有以…

第六篇:Python编程精粹:深入常用库与高效开发实践

Python编程精粹&#xff1a;深入常用库与高效开发实践 1 引言&#xff1a; 在数字世界中&#xff0c;Python已然成为一种杰出的工具&#xff0c;它的优雅、简洁和强大功能吸引了无数的开发者和研究者。Python之所以在多个领域内占据主导地位&#xff0c;一个重要的原因在于其强…

信号,信号列表,信号产生方式,信号处理方式

什么是信号 信号在我们的生活中非常常见&#xff1b;如红绿灯&#xff0c;下课铃&#xff0c;游戏团战信号&#xff0c;这些都是信号&#xff1b;信号用来提示接收信号者行动&#xff0c;但接收信号的人接收到信号会进行一系列的行为&#xff0c;完成某个动作&#xff1b;这就…

【IDEA】IDEA自带Maven/JDK,不需要下载

IDEA是由Java编写的&#xff0c;为了保证其运行&#xff0c;内部是自带JDK的。IDEA 2021 及 之后的版本是自带Maven的&#xff1a; 视频连接&#xff1a; https://www.bilibili.com/video/BV1Cs4y1b7JC?p4&spm_id_frompageDriver&vd_source5534adbd427e3b01c725714cd…

Leetcode 145:二叉树的后序遍历(迭代法)

给你一棵二叉树的根节点 root &#xff0c;返回其节点值的 后序遍历 。 思路&#xff1a; 迭代法的思路是&#xff0c;使用栈&#xff0c;一层一层的将树节点遍历入栈。 比如下面这个树&#xff0c;使用迭代法&#xff0c;1&#xff09;第一层&#xff0c;让根节点入栈。2&a…

顺序表的增删查改的实现以及讲解(一篇包懂)

一&#xff1a;顺序表的概念 顺序表是用一段 物理地址连续 的存储单元依次存储数据元素的线性结构&#xff0c;一般情况下采用数组存 储。在数组上完成数据的增删查改。 顺序表一般可以分为&#xff1a; 1. 静态顺序表&#xff1a;使用定长数组存储元素。 2. 动态顺序表&am…

强化训练:day6(大数加法、链表相加、大数乘法)

文章目录 前言1. 大数加法1.1 题目描述1.2 解题思路1.3 代码实现 2. 链表相加2.1 题目描述2.2 解题思路2.3 代码实现 3. 大数乘法3.1 题目描述3.2 解题思路3.3 代码实现 总结 前言 今天的问题主要是处理 "大数加法"问题。   做题链接&#xff1a;大数加法、链表相加…

Tag文件与Tag标记

一、Tag文件 Tag文件与JSP文件很类似&#xff0c;可以被JSP页面动态加载调用&#xff0c;实现代码的复用&#xff0c;但用户不能通过该Tag文件所在Web服务目录直接访问Tag文件 1、文件结构 Tag文件是扩展名为.tag的文本文件&#xff0c;其结构和JSP文件类似。一个Tag文件中可…

24 JavaScript学习:this

this在对象方法中 在 JavaScript 中&#xff0c;this 的值取决于函数被调用的方式。在对象方法中&#xff0c;this 引用的是调用该方法的对象。 让我们看一个简单的例子&#xff1a; const person {firstName: John,lastName: Doe,fullName: function() {return this.firstN…

【综述】多核处理器芯片

文章目录 前言 Infineon处理器 AURIX™系列 TC399XX-256F300S 典型应用 开发工具 参考资料 前言 见《【综述】DSP处理器芯片》 Infineon处理器 AURIX™系列&#xff0c;基于TriCore内核&#xff0c;用于汽车和工业领域。 XMC™系列&#xff0c;基于ARM Cortex-M内核&…