首页 > 其他分享 >获取方形矩阵两串对角线数字之和的差值

获取方形矩阵两串对角线数字之和的差值

时间:2024-09-05 11:26:17浏览次数:12  
标签:arr i1 integerList int 差值 对角线 Integer 两串 size

 1  /**
 2      * 获取方形矩阵两串对角线数字之和的差值
 3      *
 4      * 1 2 3
 5      * 4 5 6
 6      * 7 8 9
 7      *
 8      * 1+5+9=15;
 9      * 3+5+7=15;
10      * 15-15=0;
11      * @param arr
12      * @return
13      */
14     public static Integer diagonalDiferrence(ArrayList<ArrayList<Integer>> arr){
15         if(arr==null){
16             return null;
17         }
18         if (arr.isEmpty()){
19             return null;
20         }
21         for (ArrayList<Integer> integers : arr) {
22             for (Integer integer : integers) {
23                 if (integer<-100 || integer > 100){
24                     return null;
25                 }
26             }
27         }
28 
29         int count=0;
30         ArrayList<Integer> integerArrayList = new ArrayList<>();
31         for (int i = 0; i < arr.size(); i++) {
32             ArrayList<Integer> integerList = arr.get(i);
33             for (int i1 = 0; i1 < integerList.size(); i1++) {
34                 if(count==i1){
35                     Integer i2 = integerList.get(i1);
36                     integerArrayList.add(i2);
37                     break;
38                 }else if (integerArrayList.size()==count){
39                     if (i1==(count-1)){
40                         Integer i2 = integerList.get(count);
41                         integerArrayList.add(i2);
42                         break;
43                     }else {
44                         continue;
45                     }
46                 }else {
47                     break;
48                 }
49             }
50             count++;
51         }
52 
53         System.out.println(integerArrayList);
54 
55         int count1=0;
56         ArrayList<Integer> integerArrayList1 = new ArrayList<>();
57         for (int i = 0; i < arr.size(); i++) {
58             List<Integer> integerList = arr.get(i);
59             int reverseIndex=integerList.size()-1;
60             for (int i1 = integerList.size()-1; i1 >=0 ; i1--) {
61                 if(count1==(integerList.size()-i1-1)){
62                     Integer i2 = integerList.get(i1);
63                     integerArrayList1.add(i2);
64                     break;
65                 }else if (integerArrayList1.size()==count1){
66                     if (i1==(integerList.size()-count1-1)){
67                         Integer i2 = integerList.get(reverseIndex--);
68                         integerArrayList1.add(i2);
69                         break;
70                     }else {
71                         continue;
72                     }
73                 }else {
74                     break;
75                 }
76             }
77             count1++;
78         }
79 
80         System.out.println(integerArrayList1);
81 
82         int sum=0;
83         for (Integer integer : integerArrayList) {
84             sum+=integer;
85         }
86         int sum1=0;
87         for (Integer integer : integerArrayList1) {
88             sum1+=integer;
89         }
90 
91         int minersVal=sum-sum1;
92         if (minersVal<0){
93             int i = sum1 - sum;
94             return i;
95         }
96 
97         return minersVal;
98     }

 

标签:arr,i1,integerList,int,差值,对角线,Integer,两串,size
From: https://www.cnblogs.com/liaowanzhong/p/18398014

相关文章

  • Pytorch:torch.diag()创建对角线张量方式例子解析
    在PyTorch中,torch.diag函数可以用于创建对角线张量或提取给定矩阵的对角线元素。以下是一些详细的使用例子:创建对角矩阵:如果输入是一个向量(1D张量),torch.diag将返回一个2D方阵,其中输入向量的元素作为对角线元素。例如:a=torch.randn(3)print(a)#输出:tensor([0.5950,......
  • 前端css动画水平移动,垂直移动,对角线移动transform
    水平移动:transform:translateX(100px);沿着x轴向右移动100px,向左-100px 垂直移动:transform:translateY(100px);沿着Y轴向上移动100px,向下就是-100px 对角线移动:transform:translate(100px,100px);     对应x轴,y轴坐标<!DOCTYPEhtml><htmllang="en"......
  • 3224. 使差值相等的最少数组改动次数
    原题链接前情提要,结合原题解区的题解题解先简化问题,对于一对数\(a,b\),其中\(a\leqb\),要使其差为\(X\)的操作数是多少?分类讨论1.如果\(b-a==X\),操作数为\(0\)(不操作)2.如果\(X\ltb-a\),操作数为\(1\)(增加a或者减小b)3.如果\(X\in[b-a+1,k-a]\),操作数为\(1\)(增大b......
  • 【矩阵对角线求和】求一个3*3矩阵对角线元素之和
    求一个3*3矩阵对角线元素之和,使用C语言实现具体代码:#include<stdio.h>intmain(){floata[3][3],sum=0;printf("请输入3x3矩阵的元素(按行输入):\n");for(inti=0;i<3;i++){for(intj=0;j<3;j++){scanf("%f",&a[i][j]);......
  • 二分查找 | 绝对差值和
    题目:1818.绝对差值和给你两个正整数数组nums1和nums2,数组的长度都是n。数组nums1和nums2的绝对差值和定义为所有|nums1[i]-nums2[i]|(0<=i<n)的总和(下标从0开始)。你可以选用nums1中的任意一个元素来替换nums1中的至多一个元素,以最小化绝......
  • 绝对差值减去百分比
    我有一个DataFrame来查找python中两个源之间的绝对差异百分比。但是当我使用下面的代码时,很少有列给出-%(负百分比)我已经检查了显示负百分比数据类型的列在两个源中是否相同。任何人都可以帮助我找出答案为什么?#Definethecolumnsyouwanttoprocesscolum......
  • 游戏陪玩系统源码,时间转换及时分秒差值计算
    游戏陪玩系统源码,时间转换及时分秒差值计算时间转换(秒数转时分秒)functiontimeFormat(sec){letminite=Math.floor((sec/60%60))<10?'0'+Math.floor((sec/60%60)):Math.floor((sec/60%60));letsecond=Math.floor((sec%60))<10?......
  • 力扣刷题记录: 1424. 对角线遍历Ⅱ
        本题是第182场周赛的Q3,LC竞赛分为1780。方法一.利用反对角线性质    在同一条反对角线上的元素的i+j值是相同的,同时,根据遍历的方式可知,i值越大的元素在同一条反对角线之中越先被遍历,i+j值越小的反对角线越早被遍历。考虑采用有序的map对i+j......
  • GIS之arcgis系列09:arcpy实现克里金差值
    矢量点数据经过克里金差值后可以转换成栅格数据,那么就需要了解一下什么是克里金差值。什么是克里金法?IDW(反距离加权法)和样条函数法插值工具被称为确定性插值方法,因为这些方法直接基于周围的测量值或确定生成表面的平滑度的指定数学公式。第二类插值方法由地统计方法(......
  • DreamJudge-1290-日期差值
    1.题目介绍题目描述TimeLimit:1000msMemoryLimit:256mb有两个日期,求两个日期之间的天数,如果两个日期是连续的我们规定他们之间的天数为两天输入输出格式输入描述:有多组数据,每组数据有两行,分别表示两个日期,形式为YYYYMMDD输出描述:每组数据输出一行,即日期差值输......