Swift编程基础之输出数组中最大值与其下标问题
来源:互联网 发布:微商城怎么查询数据库 编辑:程序博客网 时间:2024/05/16 12:06
最近做过的两个习题分享给大家!!!
一、给定一个整形数组,将数组中最大数连同下标一起输出
//方法一://定义 index 存下标 、 max 存值,循环比较 arr[i] 和max 的值 比max大 的就将其值赋给max,其下标赋给index var arr = [1,5,2,3,7,2,10,3,2,4] var max = arr[0],index = 0 for i in 0..<arr.count{ if arr[i] > Max{ max = arr[i] index = i }} print(index,max)
//法二://定义一个元祖result(下标,值),存放得到的结果 var result = (0 , 0) for i in 0..<arr.count{ if arr[i] < arr[i+1]{ result = (i+1 , arr[i+1]) //将大得存放到元组中 } else{ let tmp = arr[i+1] arr[i+1] = arr[i] arr[i] = tmp } } print(result)
二、给定一个整型数组,求该数组中第二大的数的下标
//法一://将数组copy给一个新数组,对其排序,获取第二大数的值,再去旧的数组中比对,找到这个值,输出其下标 【ps:其实第一题也可用同样的方法】#if false var arr = [1,5,2,3,7,0,4,9,8,6] var arr1 = arr for _ in 0...1 { for i in 0..<arr1.count - 1{ if arr1[i] > arr1[i+1]{ let tmp = arr1[i] arr1[i] = arr1[i+1] arr1[i+1] = tmp } }} // print(arr1) // print(arr1[arr1.count-2])for i in 0..<arr.count{ if arr[i] == arr1[arr1.count-2]{ print("第二个大的数的下标为:\(i)") }}#endif
//法二: //要得到下标,就不能改变原数组的位置。于是先用之前说的假设法,求出最大值,将其置0,然后再用同样的方法求最大值,最后输出其值与下标。#if truevar arr = [1,5,2,3,7,0,4,9,8,6]var Max = arr[0] , index = 0//这样的方法可以找到最大的值,且数组保持不变for i in 1..<arr.count{ if arr[i] > Max { Max = arr[i] index = i }}arr[index] = 0 //将最大的数置为0for i in 1..<arr.count{ if arr[i] > Max { Max = arr[i] index = i}} print(index,arr[index])#endif
//法三: //假设第一大 和 第二大 var max = 0, maxtwo = 0 //做一次判断,得到假设的第一大值和第二值 if array[0] < array[1]{ max = array[1] maxtwo = array[0] }else{ max = array[0] maxtwo = array[1] } //遍历数组来寻找maxtwo的最终 for i in 2...array.count-1{ if array[i] > max{ maxtwo = max max = array[i] }else if array[i] > maxtwo{ maxtwo = array[i] } } //遍历当前数组寻找下标 for i in 0...array.count-1{ if array[i] == maxtwo{ print("第二大的数:\(maxtwo),下标:\(i)") } }
再接再厉,继续加油!!!
0 0
- Swift编程基础之输出数组中最大值与其下标问题
- :求数组中最大值和下标
- JAVA获取数组中最大值及其下标
- 【C++程序设计】补6.1 输出数组最大值及其下标
- Introduction to Java Programming编程题8.13<返回二维数组中最大值及下标>
- Java之给出数组求其最大值位置下标
- 求一个数组中三个最大值的下标
- 求一个数组中最大值函数的下标值
- iOS中取数组内最大值最小值,下标,总和,平均值
- iOS中取数组的最大值、最小值,下标,总和,平均值
- Java:<返回二维数组中最大值及下标>
- Swift基础 下标
- 求数组最大值的下标
- iOS编程基础-Swift(五)-流程控制与其他
- 二维数组, 二分法查找数组元素下标 快速查找数组最大值 数组作为实参的问题
- Swift学习之下标
- Swift之下标脚本
- java基础--输出数组中指定元素的下标
- iOS 双击tableView回顶部
- Custom Components(自定义组件)
- css3总结
- 实习记录(四)
- ffmpeg结构体以及函数介绍(三)
- Swift编程基础之输出数组中最大值与其下标问题
- boost::ptr_vector
- 如何安全退出已调用多个 Activity 的 Application?
- 自定义可水平滚动的View
- Android Studio Execution failed for task ':app:transformClassesWithInstantRunForDebug'
- js总结
- 学生信息系统
- HDU1426 Sudoku Killer(DFS暴力)
- js中window.onload添加事件