今天闲着没事,把这个重新看了一下。浅浅的自己实现了一个。

主要思路:

1.循环处理数据,知道指定的条件。

2.边界值得判断,主要是批次清除数据(第N个数的特殊处理,这里做最简单的置零),单次循环结束,而总体条件没有达成,这时候,要重新驱动循环,保持批第N个数的计算索引的保留。

 

3.内部小循环判断 。

  3.1 判断是否需要计算,当为特殊值时,要跳过(我的方法把特殊值置零,所以,遇到零,不参加计算)。

  3.2 判断达道批次的最大值时的,处理,索引清0 。

4 数据输出,格式化。

5.测试程序,验证结果的正确性。

6.代码优化。 

 

        

        NSInteger index = 0;

        

        NSInteger rangeCounter = 3;

        

        NSMutableArray *myInputs = [NSMutableArray arrayWithObjects:@"1",@"2",@"3", @"4",@"5",@"6",@"7",nil];

        

        NSInteger arrayLength = [myInputs count];

        NSInteger arrayLengthConst= arrayLength ;

        

        while   (arrayLength) {

        

            for (NSInteger arrIndex = 0 ;arrIndex < arrayLengthConst ; arrIndex++) {

            

                 //NSLog(@"%@",[myInputs objectAtIndex:arrIndex]);

                if ([myInputs objectAtIndex:arrIndex] != @0) {

                    

                    index++;

                    

                    

                    if( index == rangeCounter) {

                        NSInteger currentNo = [myInputs objectAtIndex:arrIndex] ;

                        [myInputs replaceObjectAtIndex:arrIndex   withObject:@0] ;

                        index = 0;

                        arrayLength--;

                        NSLog(@"%@",currentNo);

                    }

                }

            }

        }

 

相关文章:

  • 2021-07-14
  • 2022-01-07
  • 2022-03-09
  • 2021-05-07
  • 2021-10-11
  • 2021-09-09
  • 2021-04-19
猜你喜欢
  • 2022-12-23
  • 2021-12-25
  • 2021-09-07
  • 2021-12-29
  • 2021-10-18
  • 2021-10-01
相关资源
相似解决方案