Find min K

Given a array, find the min K which means the count of number to delete that will make the last number
#include<stdlib.h>
int findMinK(int* array, int len){
	int i = len-1;
	int j;
	int k =len;
	int tempK =0;
	int temp = 0;
	for(; i >= 0; i--){
		temp = array[i];
		tempK = len-1 -i;
		for(j = 0; j < i; j++){
			if(array[j] < temp){
				tempK++;
			}
		}
		if(k > tempK){
			k = tempK;			
		}
	}
	return k;
}

int main(){
	int array[] = {3,2,5,6,7};
	int result = findMinK(array, 5);
	printf("The min K is: %d",result);
	getchar();
}

 as the min number.
### Matlab `find` 函数详解 #### 基本功能描述 `find` 是 MATLAB 中用于查找数组中满足特定条件元素位置的一个重要函数。该函数可以返回非零元素的位置索引,也可以配合逻辑表达式来定位符合条件的数据。 #### 参数说明 - **X**: 输入矩阵或向量。 - **k**: 返回前 k 个匹配项;如果指定正数,则从第一个开始计数;如果是负数,则从最后一个向前找起。 #### 使用示例 ##### 查找非零元素的位置 对于简单的非零元素查找操作: ```matlab A = [1,3,0;2,0,9]; [row,col] = find(A); disp([row col]); ``` 上述代码将输出所有非零元素所在的行列坐标[^1]。 ##### 结合逻辑运算符使用 通过设置不同的比较关系,能够更加灵活地筛选数据: ```matlab B = randi(10,[4 5]); % 创建随机整数矩阵作为例子 [valRow,valCol] = find(B>7); disp('大于7的数值及其位置:'); disp([valRow valCol B(valRow+(valCol-1)*size(B,1))]); ``` 这段脚本展示了如何找出那些超过给定阈值(这里是7)的所有元素,并打印它们的具体位置以及对应的原始值。 ##### 获取最多/最少 n 个最大/最小值所在的位置 利用第二个输入参数 k 来限定结果数量: ```matlab C = magic(6); % 魔方阵作为一个测试样本 [maxVal,maxIdx] = max(C(:)); % 找到整个矩阵中的最大值 [minVal,minIdx] = min(C(:)); % 同样找到全局最小值 topThreeMaxPos = find(C==maxVal,3,'first'); % 取得前三高的三个位置之一 bottomTwoMinPos = find(C==minVal,-2,'last'); % 寻找最后两个最低处之一 ``` 这里不仅示范了怎样获得单个极值点的信息,还介绍了当存在多个相同极大/小值时只取部分的方法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值