- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我试图获取最大值所在行的列中的最小值。我尝试使用 for 循环,但它不起作用。
假设有一个矩阵 A:
3 4 5
2 3 4
1 2 3
我希望程序在第 [0] 行中找到最大值,然后在最大值的列中找到最小值。所以结果应该是:行 [0] 的最大值 = 5,列 [2] 的最小值 = 3。然后我希望它对所有行执行相同的操作,这就是为什么我使用 while 循环。
这是矩阵:
public int[][] createMatrix(int a, int b){
Scanner inputm = new Scanner(System.in);
A = new int[a][b];
System.out.println("Enter elements for matrix A : ");
for (int i=0 ; i < A.length ; i++){
System.out.println("Enter numbers for " + i +"th row");
for (int j=0 ; j < A[i].length ; j++){
A[i][j] = inputm.nextInt();
}
}
return A;
}
public int[][] displayMatrix(){
System.out.println("Matrix A: ");
for (int i=0 ; i < A.length ; i++)
{ System.out.println();
for (int j=0 ; j < A[i].length ; j++){
System.out.print(A[i][j]+" ");
}
}
return A;
}
public int getMaximumOfEveryRow (int c){
a=c;
int i= 0;
int j;
while(i < A[a].length){
max = Integer.MIN_VALUE;
for ( j = 0; j < A [ i ].length; j++ )
if ( A [ i ] [ j ] > max ){
max = A [ i ] [ j ];
}
for ( i = 0; i < A [ i ].length; i++ )// e
if ( A [ i ] [ j ] < min ){
min = A [ i ] [ j ];
}
System.out.println( "\n Maximum of row " + j + " = " + max );
System.out.println( "Minimum of column " + i + " = " + min );
if(max == min){
System.out.println( min+ " = " + max );
System.out.println( "This is a saddle point. ");
}
i++;
}
return max;
}
这是我到目前为止所拥有的:
public int getMaximumOfEveryRow (int c){
a=c;
int i= 0;
int j;
while(i < A[a].length){
max = Integer.MIN_VALUE;
for ( j = 0; j < A [ i ].length; j++ )
if ( A [ i ] [ j ] > max ){
max = A [ i ] [ j ];
}
int e = j;
int r;
for ( i = 0; i < A [ i ].length; i++ )// e
if ( A [ i ] [ j ] < min ){
min = A [ i ] [ j ];
}
System.out.println( "\n Maximum of row " + j + " = " + max );
System.out.println( "Minimum of column " + i + " = " + min );
if(max == min){
System.out.println( min+ " = " + max );
System.out.println( "This is a saddle point. ");
}
i++;
}
return max;
}
public int getMaximumOfEveryColumn ()
{
for ( int i = 0; i < A.length; i++ )
{
maxc = Integer.MIN_VALUE;
for ( int j = 0; j < A [ i ].length; j++ )
if ( A [ j ] [ i ] > maxc )
maxc = A [ j ] [ i ];
System.out.println( "Maximum of column " + i + " = " + maxc );
}
return maxc;
}
public int getMinimumOfEveryColumn_(){
for ( int i = 0; i < A.length; i++ )
{
minc = Integer.MAX_VALUE;
for ( int j = 0; j < A [ i ].length; j++ )
if ( A [ j ] [ i ] < minc )
minc = A [ j ] [ i ];
System.out.println( "Minimum of column " + i + " = " + minc );
}
return minc;
}
public int getMaximumOfEveryRow ()
{
for ( int i = 0; i < A.length; i++ )
{
maxr = Integer.MIN_VALUE;
for ( int j = 0; j < A [ i ].length; j++ )
if ( A [ i ] [ j ] > maxr )
maxr = A [ i ] [ j ];
System.out.println( "Maximum of row " + i + " = " + maxr );
}
return maxr;
}
用于查找列中最大值,然后在该最大值所在行中查找最小值的代码。
public void get_max_of_the_row_of_local_min ()
{
for ( int i = 0; i < A.length; i++ )
{
min = Integer.MAX_VALUE;
max = Integer.MIN_VALUE;
int index_of_min_in_its_col = 0;
//maxc = Integer.MIN_VALUE;
for ( int j = 0; j < A [ i ].length; j++ )
if ( A [ j ] [ i ] > max ){
max = A [ j ] [ i ];
index_of_min_in_its_col = i;
System.out.println( " Maximum of col [" + i + "] = " + max);
}
for ( int j = 0; j < A [ index_of_min_in_its_col ].length; j++ )
if ( A [ index_of_min_in_its_col ] [ index_of_min_in_its_col ] < min ){
min = A [ index_of_min_in_its_col ] [ index_of_min_in_its_col ];
a =j;
}
//System.out.print( " Maximum of col [" + j + "] = " + max);
System.out.println( " Minimum of rol [" + index_of_min_in_its_col + "] = " + min );
if(max == min){
System.out.println("This is a saddle point.");
}
}
最佳答案
解决方案如下:
public void get_minimum_of_the_column_of_local_maximum ()
{
for ( int i = 0; i < A.length; i++ )
{
min = Integer.MAX_VALUE;
max = Integer.MIN_VALUE;
int index_of_maximum_in_its_row = 0;
for ( int j = 0; j < A [ i ].length; j++ )
if ( A [ i ] [ j ] > max )
{
max = A [ i ] [ j ];
index_of_maximum_in_its_row = j;
}
for ( int j = 0; j < A [ index_of_maximum_in_its_row ].length; j++ )
if ( A [ j ] [ index_of_maximum_in_its_row ] < min )
min = A [ j ] [ index_of_maximum_in_its_row ];
System.out.print( " Maximum of row [" + i + "] = " + max);
System.out.println( " Minimum of column [" + index_of_maximum_in_its_row + "] = " + min );
}
}
这段代码有什么作用?
您有 min = Integer.MAX_VALUE, max = Integer.MIN_VALUE
变量。我们将这些值分配给这些数字的原因是为了使找到最大值/最小值成为可能。如何?最初,min
具有最大的整数值,但只要我们发现小于该值的值,我们就会更新最小值,以便 min
的值减小。与 max
变量相同的技术,但当然它会通过比较后增加值来实现另一个方向。
第一个内部 for 循环确定行 i 的最大值,然后使用变量 index_of_maximum_in_its_row
标记该行中最大值的索引。稍后需要在第二个内循环中使用它。
第二个内部循环通过对该列进行一次迭代来确定列号 index_of_maximum_in_its_row
的最小值。然后该方法打印结果。
关于java - 尝试获取数组中的最大值/最小值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9424544/
我在使用 Android 时遇到了一点问题。 我有我的 GPS 位置,明确的经纬度,以及以米为单位的搜索射线(例如 100 米),可以吗? 想象一下我在射线形成的圆心的位置,我会知道如何在 Andro
深夜的编程之旅 这是一个深夜,街头灯光昏暗,大部分人都已陷入梦乡。但对于我来说,这却是一个灵感迸发的时刻。窗外的星空仿佛在诉说着某种宇宙的密码,而键盘下的代码则是我解密这个宇宙的工具。 一个突如其来的
我将数据集结构定义为 struct Dataset: Hashable { var x: Double var y: Double } 然后是数组 var dataset: [Data
我在 Excel 文件中有一个摘要选项卡,需要查看应计选项卡才能找到 Max和 Min .我遇到的问题是有许多不同的位置/商品组合,我需要找到 Max和 Min基于位置/商品组合。位置和商品位于两个单
我有一个 Excel 表,其中包含两列感兴趣的年份和捐款。年份值为 2008,2009,2010 等... 我想获得 2009 年所有捐款中的最低金额。我试过了 MIN(IF(Year="2009",
到现在为止,我刚刚找到了为列表中多个数据帧中的列获取最大值的解决方案。 我已经将数据帧 df1, df2, df3, ..., dfn 存储在列表 dfList 中,我想获取列 df_ 的最大值$a
假设我有一个列名列表作为向量: vec=c("C1" , "C2" ,"C3"). 我知道这些列名来自数据框 df: df: C1 C2 C3 C4 C5 1 2 3 4 5 1 4
我需要计算大数组的最小值/最大值。我知道Math.max.apply() ,但在大型数组上,它会因堆栈溢出异常而失败。有什么简单的解决方案吗? 最佳答案 使用 sort() 对数组进行排序方法它使用快
例如,我有一个像这样的模型: class Record(models.Model): name = CharField(...) price = IntegerField(...)
我正在编写一个用于测试听力的简单应用,并且正在使用Audiotrack生成纯音。因为它是用于测试听力的应用程序,所以我使用非常低的音量来播放这些音调。 要设置音量,我使用音轨的 setVolume(f
Example data set 对,上面是我的数据集子段图像的链接。它以 3 列为一组,第一个是浓度,第二个是限定值,最后一个是 MDL - 并持续最多 95 个 sample (因此总共 285
我想计算 df 的每 n 行的最小值/最大值,比如 10,但是使用 df.rolling(10).max() 给出第 0-9、1-10、2-11 行的值等。我想要 0-9、10-19、20-29 等
我被问到了关于 c# 的同样问题 here我发现通过使用 linq 你可以轻松地做到这一点。 但是既然 java 中的 linq 没有其他选择,我该如何简单地做到这一点呢? 最佳答案 如果您想要类似于
我曾经使用过数组,并且知道如何对使用数值(double 和 int)的数组进行排序,但我必须使用字符串数组制作相同的应用程序。我的教授不允许我发挥“创造力”,也不允许我与其他可能有助于完成这项工作的静
我想知道通过这样的回溯获得某些事实的最大值(最年长的人)是否是个好主意: data(MaxID, MaxName, MaxAge), \+ (data(ID, Name, Age), ID \= Ma
我想计算 df 的每 n 行的最小值/最大值,比如 10,但是使用 df.rolling(10).max() 给出第 0-9、1-10、2-11 行的值等。我想要 0-9、10-19、20-29 等
我的数据如下所示: df <- tribble( ~A, ~B, 0.2, 0.1, 0.2, 0.3, 0.5, 0.1, 0.7, 0.9,
我有以下数据集 Date Category 2014-01-01 A 2014-01-02 A 2014-01-03 A 2014-01-04
我是使用 Python 进行数据分析的初学者,并且坚持以下几点: 我想使用广播/矢量化方法从各个列 (pandas.dataframe) 中找到最大值(value)。 我的数据框的快照如下: 最佳答案
C99 中是否有一个标准函数来使用给定的比较函数获取给定数组中的最小/最大元素。 类似: void* get_min(void* start,size_t size,size_t elementSiz
我是一名优秀的程序员,十分优秀!