iOS面试中常见的算法题目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了iOS面试中常见的算法题目相关的知识,希望对你有一定的参考价值。
一、前言
这里是在ios求职中自己遇到的算法题,希望对大家有所帮助。不定期更新。如果大家想在线运行代码调试,可以将代码拷贝到这里。然后进行调试。下面就是常见的算法题目。
二、正文
1、就n的阶乘。
思路:这里面用递归实现
#include <stdio.h> int getNJ(int n) { if (n==1 || n==0) { return 1; } return n*getNJ(n-1); } int main() { printf("%d",getNJ(10)); return 0; }
运行结果如下:
3628800
2、判断一个字符串是否是ip。
思路:先将字符串分割到两个数组里面(一个数字数组,一个字符数组),然后判断数字数组内容是否满足ip条件,字符数组里面是否是"."。这里面主要用了sscanf函数。代码如下:
#include <stdio.h> int checkIP(const char *p) { int n[4]; char c[4]; if (sscanf(p,"%d%c%d%c%d%c%d%c",&n[0],&c[0],&n[1],&c[1],&n[2],&c[2],&n[3],&c[3])==7) { int i; for (i=0;i<3;i++) { if(c[i]!=‘.‘) { return 0; } } for (i=0;i<4;i++) { if (n[i]>255||n[i]<0) { return 0; } } return 1; }else { return 0; } } int main() { const char *x[] = { "132.168.1.1", "10.0.0.1.", "127.256.0.1", "iudfdsfdasfdaf", "172.16,2.1" }; const char *m[] = { "不是合法的IP地址", "是合法的IP地址" }; int i=0; while(x[i]!=0) { printf("%s %s\\n",x[i],m[checkIP(x[i])]); i++; } return 0; return 0; }
运行结果如下:
132.168.1.1 是合法的IP地址 10.0.0.1. 不是合法的IP地址 127.256.0.1 不是合法的IP地址 iudfdsfdasfdaf 不是合法的IP地址 172.16,2.1 不是合法的IP地址
以上是关于iOS面试中常见的算法题目的主要内容,如果未能解决你的问题,请参考以下文章