目录

第1题:有序数组的平方

第2题:增减字符串匹配

第3题:数字的补数

第4题:Nim游戏

第5题:删除字符串中的所有相邻重复项

第6题:除数博弈

第7题:转换成小写字母

第8题:生成每种字符都是奇数个的字符串

第9题:按奇偶排序数组

第10题:转置矩阵


力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升。

第1题:有序数组的平方

试题要求如下:

回答(C语言):

/*** Note: The returned array must be malloced, assume caller calls free().*/
int cmp (const void * a, const void * b)
{return ( *(int*)a - *(int*)b );
}int* sortedSquares(int* A, int ASize, int* returnSize){*returnSize=ASize;for(int i=0;i<ASize;i++){A[i]=A[i]*A[i];}qsort(A, ASize, sizeof(int), cmp);return A;
}

运行效率如下所示:


第2题:增减字符串匹配

试题要求如下:

回答(C语言):

/*** Note: The returned array must be malloced, assume caller calls free().*/
int* diStringMatch(char * S, int* returnSize)
{int N = strlen(S);int a=N;int b=0;int *ret = (int *)malloc(sizeof(int)*(N+1));*returnSize = N + 1;for (int i=0;i<N;i++){if (S[i] == 'I'){ret[i] = b;b++;}else{ret[i] = a;a--;}}ret[N] = b;return ret;
}

运行效率如下所示:


第3题:数字的补数

试题要求如下:

回答(C语言):

int findComplement(int num){long temp = 1;while (num >= temp){temp <<= 1;}return (temp - 1 - num);
}

运行效率如下所示:


第4题:Nim游戏

试题要求如下:

回答(C语言):

bool canWinNim(int n){return (n % 4 != 0);
}

运行效率如下所示:


第5题:删除字符串中的所有相邻重复项

试题要求如下:

回答(C语言):

char * removeDuplicates(char * S){int i, cnt, len = strlen(S);for(i = 1, cnt = 0;i <= len;++i){if(cnt == -1 || S[i] != S[cnt])S[++cnt] = S[i];else --cnt;}return S;
}

运行效率如下所示:


第6题:除数博弈

试题要求如下:

回答(C语言):

bool divisorGame(int N){// 如果爱丽丝拿到奇数,则必输,// 因为奇数的因数必为奇数,则N-x必为偶数,// 鲍勃拿到偶数之后,只需要-1交还给爱丽丝,则爱丽丝再次拿到奇数,// 这样鲍勃永远拿到偶数,直到拿到2赢下比赛// 反过来,如果爱丽丝拿到偶数,只需要-1给鲍勃,那么鲍勃就必输。return N%2==0;
}

运行效率如下所示:


第7题:转换成小写字母

试题要求如下:

回答(C语言):

char * toLowerCase(char * str){for(int i=0;i<strlen(str);i++){if(str[i]>='A'&&str[i]<='Z')str[i]=str[i]+32;}return str;
}

运行效率如下所示:


第8题:生成每种字符都是奇数个的字符串

试题要求如下:

回答(C语言):

char * generateTheString(int n)
{char *ret=(char *)malloc(sizeof(char)*(n+1));ret[n]='\0';memset(ret,'a',n);ret[n-1]='a'+(n%2==0);return ret;
}

运行效率如下所示:


第9题:按奇偶排序数组

试题要求如下:

回答(C语言):

/*** Note: The returned array must be malloced, assume caller calls free().*/
int* sortArrayByParity(int* A, int ASize, int* returnSize){int i=0,j=ASize-1;int temp=0;while(i<j){if(A[i]%2!=0 && A[j]%2==0){temp=A[j];A[j]=A[i];A[i]=temp;}if(A[i]%2==0)i++;if(A[j]%2!=0)j--;}*returnSize=ASize;return A;
}

运行效率如下所示:


第10题:转置矩阵

试题要求如下:

回答(C语言):

/*** Return an array of arrays of size *returnSize.* The sizes of the arrays are returned as *returnColumnSizes array.* Note: Both returned array and *columnSizes array must be malloced, assume caller calls free().*/
int** transpose(int** A, int ASize, int* AColSize, int* returnSize, int** returnColumnSizes){int** num=(int**)malloc(sizeof(int*)*(*AColSize));*returnColumnSizes=(int*)malloc(sizeof(int)*(*AColSize));*returnSize=*AColSize;//分配内存for(int i=0;i<*AColSize;i++){num[i]=(int*)malloc(sizeof(int)*ASize);returnColumnSizes[0][i] = ASize;}//矩阵转置for(int i=0;i<ASize;i++){for(int j=0;j<*AColSize;j++){num[j][i]=A[i][j];}}return num;
}

运行效率如下所示:

力扣(LeetCode)刷题,简单题(第10期)相关推荐

  1. Leetcode-How-What 力扣Leetcode刷题指南

    Leetcode-How-What 力扣Leetcode刷题指南 About the way how to use Leetcode wisely for preparing the intervie ...

  2. 力扣(LeetCode)刷题,简单+中等题(第35期)

    力扣(LeetCode)定期刷题,每期10道题,业务繁重的同志可以看看我分享的思路,不是最高效解决方案,只求互相提升. 第1题:解码异或后的排列 试题要求如下: 回答(C语言): /*** Note: ...

  3. 力扣(LeetCode)刷题,简单+中等题(第26期)

    目录 第1题:字典序排数 第2题:字符串解码 第3题:查找常用字符 第4题:所有奇数长度子数组的和 第5题:长按键入 第6题:分割字符串的最大得分 第7题:回文链表 第8题:有多少小于当前数字的数字 ...

  4. 力扣(LeetCode)刷题,简单题(第23期)

    目录 第1题:整数转换 第2题:重复的子字符串 第3题:范围求和2 第4题:反转数位 第5题:数字转换为十六进制 第6题:比较含退格的字符 第7题:三个数的最大乘积 第8题:珠玑妙算 第9题:旋转字符 ...

  5. 力扣(LeetCode)刷题,简单题(第15期)

    目录 第1题:将整数转换为两个无零整数的和 第2题:一周中的第几天 第3题:把二叉搜索树转换为累加树 第4题:连续字符 第5题:拿硬币 第6题:删除中间节点 第7题:猜数字 第8题:整数的各位积和之差 ...

  6. 力扣(LeetCode)刷题,简单题(第5期)

    目录 第1题:二进制中1的个数 第2题:打印从 1 到最大的 n 位十进制数 第3题:删除链表的节点 第4题:调整数组顺序使奇数位于偶数前面 第5题:链表中倒数第K个节点 第6题:反转链表 第7题:二 ...

  7. 力扣(LeetCode)刷题,简单+中等题(第34期)

    目录 第1题:整数转罗马数字 第2题:电话号码的字母组合 第3题:二叉树的所有路径 第4题:砖墙 第5题:下一个排列 第6题:括号生成 第7题:删除并获得点数 第8题:全排列 第9题:颜色分类 第10 ...

  8. 力扣(LeetCode)刷题,简单+中等题(第33期)

    目录 第1题:Z 字形变换 第2题:删除字符串中的所有相邻重复项 第3题:基本计算器 II 第4题:螺旋矩阵 第5题:螺旋矩阵 II 第6题:盛最多水的容器 第7题:删除有序数组中的重复项 II 第8 ...

  9. 力扣(LeetCode)刷题,简单+中等题(第32期)

    目录 第1题:数组的度 第2题:托普利茨矩阵 第3题:爱生气的书店老板 第4题:翻转图像 第5题:有效的数独 第6题:无重复字符的最长子串 第7题:区域和检索 - 数组不可变 第8题:二维区域和检索 ...

  10. 力扣(LeetCode)刷题,简单+中等题(第31期)

    目录 第1题:同构字符串 第2题:最后一块石头的重量 第3题:最小路径和 第4题:键盘行 第5题:存在重复元素 II 第6题:两数相加 第7题:三个数的最大乘积 第8题:等价多米诺骨牌对的数量 第9题 ...

最新文章

  1. HTML DOM Console对象
  2. 十九、Android Activity初探
  3. redis3.0.2 分布式集群安装详细步骤
  4. 十、Docker快速搭建Elastic Stack(下篇)
  5. 解决Ubuntu16.04 fatal error: json/json.h: No such file or directory
  6. centos6系列版本防火墙图形化设置
  7. coreldraw中制作蚊香实例_关于CorelDRAW印前排版规范你知道么?
  8. Sqlserver2005附加数据库时出错提示操作系统错误5(拒绝访问)错误5120的解决办法...
  9. VMPlayer Ubuntu 16.04 Copy and Paste with Host 主机与宿机之间的复制粘贴
  10. 如何免费将一个PDF拆分成多个文件?
  11. Trajan/强连通(石油大学组队赛 B: Thrall’s Dream)
  12. 下行法求最小割集案例_故障树分析方法(FTA)
  13. linux 验证码 权限,linux 上验证码无法显示
  14. 教您在Excel中批量生成条形码
  15. Maven setting文件配置错误:Non-parseable settings..in comment after two dashes (--) next character must be
  16. 现代服务业行业税收筹划,信息技术公司节税方案
  17. android7.1 打印机 (ghostscript+hpijs - hplip)
  18. ISLR读书笔记(1)统计学习简介
  19. vue组件走马灯_vue文字横向滚动走马灯公告代码示例
  20. 使用Altium Designer报错的处理记录 1 :Class Document Source Message Time Date No.

热门文章

  1. 第二个Python程序:if,for,while,输出乘法口诀表
  2. C++ 共用体union 的使用
  3. python 在字典插入值和修改字典value值的方法
  4. Java List 更换指定位置的元素
  5. Java 数据类型转换
  6. [Java]LeetCode297. 二叉树的序列化与反序列化 | Serialize and Deserialize Binary Tree
  7. 安装MySQL出现的this application
  8. 2022-2028年中国润滑油基础油行业市场研究及前瞻分析报告
  9. 3种常见的linux版本,查看linux版本的三种常用方法
  10. 基于visual Studio2013解决面试题之0901奇偶站队