大佬教程收集整理的这篇文章主要介绍了数组 – 如何从数组中找到最远的3个连续元素,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
possiblePositionsArray = [p1,p2,p3,p4,p5,P6,P7,p8,p9,p10,p11,p12,p13,p14,p15] filledPositions = [p1,p15]
两者都是CGPoints的数组,并且都具有相同的y位置并且按升序排列.
如果我选择p11.x,则以下将是右侧和左侧的3个连续点.
[P7,p9] and [p8,p10] To the Left of p11 [p12,p14] and [p13,p15] to the right of p11
但是左边和右边最远的是:
farthest to left of p11 is [P7,p9] farthest to right of p11 is [p13,p15]
我怎样才能做到这一点?
之后,你按相反的顺序执行此操作,以找到最右边的.
let SELEctedElement = yourSELEctedElement //left consecutive group var consLeft = [CGPoint]() //right consecutive group var consRight = [CGPoint]() if filledPositions.count >= 3 { for i in 0..<filledPositions.count-2 { // find the index of the element from filledPositions in possiblePositionsArray let indexInPossiblePostionArray = possiblePositionsArray.indexOf(filledPositions[i])! if indexInPossiblePostionArray < possiblePositionsArray.count-2 && // safety check filledPositions[i+2].x < SELEctedElement.x && // Only check left of SELEcted element //check equality of second items filledPositions[i+1].x == possiblePositionsArraY[indexInPossiblePostionArray+1].x && //check equality of third items filledPositions[i+2].x == possiblePositionsArraY[indexInPossiblePostionArray+2].x { //3 consecutive elements to left SELEcted element was found for j in i...i+2 { //add to left consecutive group consLeft.append(filledPositions[j]) } //break out of the for loop break } } //The same thing in reversed order for i in (2..<filledPositions.count).reverse() { let indexInPossiblePostionArray = possiblePositionsArray.indexOf(filledPositions[i])! if indexInPossiblePostionArray-2 >= 0 && filledPositions[i-2].x > SELEctedElement.x && filledPositions[i-1].x == possiblePositionsArraY[indexInPossiblePostionArray-1].x && filledPositions[i-2].x == possiblePositionsArraY[indexInPossiblePostionArray-2].x { for j in i-2...i { consRight.append(filledPositions[j]) } break } } }
以上是大佬教程为你收集整理的数组 – 如何从数组中找到最远的3个连续元素全部内容,希望文章能够帮你解决数组 – 如何从数组中找到最远的3个连续元素所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。