蓝桥杯day04——查询后矩阵的和

文章讨论了如何通过编程解决给定矩阵的查询问题,通过维护行和列数据来计算最终元素和。

1.题目

给你一个整数 n 和一个下标从 0 开始的 二维数组 queries ,其中 queries[i] = [typei, indexi, vali] 。

一开始,给你一个下标从 0 开始的 n x n 矩阵,所有元素均为 0 。每一个查询,你需要执行以下操作之一:

  • 如果 typei == 0 ,将第 indexi 行的元素全部修改为 vali ,覆盖任何之前的值。
  • 如果 typei == 1 ,将第 indexi 列的元素全部修改为 vali ,覆盖任何之前的值。

请你执行完所有查询以后,返回矩阵中所有整数的和。

示例 1:

输入:n = 3, queries = [[0,0,1],[1,2,2],[0,2,3],[1,0,4]]
输出:23
解释:上图展示了每个查询以后矩阵的值。所有操作执行完以后,矩阵元素之和为 23
### 蓝桥杯 Java 第一天 学习资料与教程 对于希望参与蓝桥杯竞赛并专注于Java编程的学习者而言,初期准备阶段至关重要。首日的学习应当聚焦于夯实基础概念技术要点。 #### 基础知识回顾 在开始深入研究之前,建议复习计算机科学的基础理论算法设计原则。这不仅有助于理解后续更复杂的内容,还能提高解决问题的能力[^3]。 #### 获取高质量资源 由于优快云平台对上传图片的质量有限制,因此推荐通过其他渠道获得详细的电子版教材。例如,在微信公众号【一只阿欢】中回复特定关键词可以得到关于蓝桥杯Java B组学习材料、文件操作指南及考试重点解析的PDF文档下载链接[^1]。 #### 实践练习 为了更好地掌握所学的知识点,应该积极参与实际编码训练。可以从简单的例子入手,比如编写计算日期天数的小程序来熟悉语法结构: ```java public class Main { public static void main(String[] args) { System.out.println(31 + 29 + 31 + 30 + 4); } } ``` 这段代码展示了如何利用基本算术运算实现功能需求[^2]。 #### 数据结构入门 了解常用的数据结构也是必不可少的一部分。以`TreeSet`为例,这是一种能够自动维护元素顺序集合类;当自定义比较器时,则可以根据指定规则来进行排序处理: ```java import java.util.*; class MyClass implements Comparable<MyClass> { int a; int b; public MyClass(int a, int b) { this.a = a; this.b = b; } @Override public String toString() { return "MyClass{" + "a=" + a + ", b=" + b + '}'; } @Override public int compareTo(MyClass o) { if (this.a != o.a) return Integer.compare(this.a, o.a); else return Integer.compare(this.b, o.b); } } class MyComparator implements Comparator<MyClass> { @Override public int compare(MyClass m1, MyClass m2) { if (m1.a != m2.a) return Integer.compare(m1.a, m2.a); else return Integer.compare(m1.b, m2.b); } } public class TreeSetExample { public static void main(String[] args) { TreeSet<MyClass> treeSet = new TreeSet<>(new MyComparator()); treeSet.add(new MyClass(1, 2)); treeSet.add(new MyClass(2, 2)); treeSet.add(new MyClass(2, 3)); treeSet.add(new MyClass(4, 3)); treeSet.add(new MyClass(5, 6)); treeSet.add(new MyClass(7, 3)); Iterator<MyClass> it = treeSet.iterator(); while (it.hasNext()) { System.out.println(it.next().toString()); } } } ``` 此段代码说明了如何创建带有自定义比较逻辑的`TreeSet`实例,并向其中添加对象后遍历输出结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

python_198

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值