草庐IT

iOS常见算法题

1、二分查找已知一个有序数组,和一个key,要求从数组中找到key对应的索引位置intbinaryFind(int*arr,intlen,intkey){intmin=0,max=len-1,mid;while(minarr[mid]){min=mid+1;}else{returnmid;}}return-1;}2、字符串反转-(void)strReverseTest{charstr[]="32415";intlen=strlen(str);for(inti=0;i3、有序数组合并将有序数组{1,4,6,7,9}和{2,3,5,6,8,9,10,11,12}合并为{1,2,3,4,5,6,6,

iOS ~ 数组删除其中的某一个元素

一、概念/**注意点:1.这个问题分两种方式解答.2.第一种是在循环遍历的时候就进行删除操作.3.第二种就是在循环遍历完之后在进行操作.*/二、实现第一种循环遍历删除操作1.在使用快速遍历进行删除操作之后要加break,来结束,这样就不会出现问题。NSMutableArray*arr1=[[NSMutableArrayalloc]initWithObjects:@"SHI",@"XIAO",@"ABC",@"ABC",@"SHI",@"HU",nil];for(NSString*strinarr1){NSLog(@"%@",str);if([strisEqualToString:@"SHI"]

iOS ~ 数组删除其中的某一个元素

一、概念/**注意点:1.这个问题分两种方式解答.2.第一种是在循环遍历的时候就进行删除操作.3.第二种就是在循环遍历完之后在进行操作.*/二、实现第一种循环遍历删除操作1.在使用快速遍历进行删除操作之后要加break,来结束,这样就不会出现问题。NSMutableArray*arr1=[[NSMutableArrayalloc]initWithObjects:@"SHI",@"XIAO",@"ABC",@"ABC",@"SHI",@"HU",nil];for(NSString*strinarr1){NSLog(@"%@",str);if([strisEqualToString:@"SHI"]

LeetCode #1191 K-Concatenation Maximum Sum K 次串联后最大子数组之和

1191K-ConcatenationMaximumSumK次串联后最大子数组之和Description:Givenanintegerarrayarrandanintegerk,modifythearraybyrepeatingitktimes.Forexample,ifarr=[1,2]andk=3thenthemodifiedarraywillbe[1,2,1,2,1,2].Returnthemaximumsub-arraysuminthemodifiedarray.Notethatthelengthofthesub-arraycanbe0anditssuminthatcaseis0.As

LeetCode #1191 K-Concatenation Maximum Sum K 次串联后最大子数组之和

1191K-ConcatenationMaximumSumK次串联后最大子数组之和Description:Givenanintegerarrayarrandanintegerk,modifythearraybyrepeatingitktimes.Forexample,ifarr=[1,2]andk=3thenthemodifiedarraywillbe[1,2,1,2,1,2].Returnthemaximumsub-arraysuminthemodifiedarray.Notethatthelengthofthesub-arraycanbe0anditssuminthatcaseis0.As

工作中需知道的数组方法总结

数组遍历操作forEach该方法等同于for循环,其没有返回值结构:arr.forEach(回调函数,回调函数this的值)第二个参数当回调函数是箭头函数时无效用法:arr.forEach(function(item,index,arr){//里面的function是一个回调函数//item:数组中的每一项//index:item对应的下标索引值//arr:就是调用该方法的数组本身});map该方法使用和forEach大致相同,该方法有返回值,返回一个新数组,工作中需要对数组的每一项进行操作获取操作后的新数组时可以使用此方法结构:arr.map(回调函数,回调函数this的值)用法:const

工作中需知道的数组方法总结

数组遍历操作forEach该方法等同于for循环,其没有返回值结构:arr.forEach(回调函数,回调函数this的值)第二个参数当回调函数是箭头函数时无效用法:arr.forEach(function(item,index,arr){//里面的function是一个回调函数//item:数组中的每一项//index:item对应的下标索引值//arr:就是调用该方法的数组本身});map该方法使用和forEach大致相同,该方法有返回值,返回一个新数组,工作中需要对数组的每一项进行操作获取操作后的新数组时可以使用此方法结构:arr.map(回调函数,回调函数this的值)用法:const

1.1 冒泡排序

冒泡排序(BubbleSort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢慢"浮"到数列的顶端。作为最简单的排序算法之一,冒泡排序给我的感觉就像Abandon在单词书里出现的感觉一样,每次都在第一页第一位,所以最熟悉。冒泡排序还有一种优化算法,就是立一个flag,当在一趟序列遍历中元素没有发生交换,则证明该序列已经有序。但这种改进对于提升性能来说并没有什么太大作用。1.算法步骤比较相邻的元素。如果第一个比第二