目录

第1题:搜索插入位置

第2题:外观数组

第3题:最大子序和

第4题:最后一个单词的长度

第5题:加一

第6题:二进制求和

第7题:求平方根

第8题:爬楼梯

第9题:删除排序链表中的重复元素

第10题:合并两个有序数组


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

第1题:搜索插入位置

试题要求如下:

回答(C语言):

int searchInsert(int* nums, int numsSize, int target){int num=0;if(numsSize<=0)return 0;for(int i=0,j=1;i<numsSize;i++,j++){if(target<nums[0]){num=0;break;}else if(target>nums[numsSize-1]){num=numsSize;break;}else{if(nums[i]==target) {num=i; break;}if(target>nums[i] && target<nums[j]){num=j; break;} }}return num;
}

第2题:外观数组

试题要求如下:

回答(C语言):

char * countAndSay(int n){if(n==1) return "1";char *s=countAndSay(n-1);char *a=(char *)malloc(5000);char *ans=(char *)malloc(5000);int count=0;int l=strlen(s);int j=0;for(int i=0;i<l;i++){if(i == 0 || s[i]==s[i-1])count++;else{a[j++]='0'+count;a[j++]=s[i-1];count=1;}if (i == l - 1) {a[j++]='0'+count;a[j++]=s[i];}}a[j]='\0';ans = a;return ans;
}

第3题:最大子序和

试题要求如下:

回答(C语言):

int maxSubArray(int* nums, int numsSize){int max = nums[0];int b = 0;for(int i = 0; i < numsSize; i++){b += nums[i];if(b > max) max = b;if(b < 0) b = 0;}return max;
}

第4题:最后一个单词的长度

试题要求如下:

回答(C语言):

int lengthOfLastWord(char * s){  int num=strlen(s); int len=0;if(num<=0)return 0;//重后往前,若有空格,则去掉空格//若全为空格则返回0while(s[--num]==' '){if(num==0){return 0;}}while(num>=0){if(s[num--]==' ')break;len++;}   return len;
}

第5题:加一

试题要求如下:

回答(C语言):

int* plusOne(int* digits, int digitsSize, int* returnSize){int *buf=(int *)malloc((digitsSize + 1) * sizeof (int));for(int i=digitsSize-1;i>=0;i--){if(digits[i]+1==10){digits[i]=0;}else{digits[i]+=1;returnSize[0]=digitsSize;return digits;}}buf[0]=1;for(int i=0,j=1;i<digitsSize;i++,j++)buf[j]=digits[i];returnSize[0]=digitsSize+1;return buf;
}

第6题:二进制求和

试题要求如下:

回答(C语言):

char * addBinary(char * a, char * b){int num=0,len_a=strlen(a),len_b=strlen(b),len_long=0;if(len_a>=len_b){len_long=len_a+2;}else{len_long=len_b+2;}char *buf=(char *)malloc(sizeof(char)*(len_long)) ;buf[--len_long]='\0';buf[0]='0';while(len_long>0){num+=len_a>0?a[--len_a]-'0':0;num+=len_b>0?b[--len_b]-'0':0;if(num==0){num=0;buf[--len_long]='0';}else if(num==1){num=0;buf[--len_long]='1';}else if(num==2){num=1;buf[--len_long]='0';}else if(num==3){num=1;buf[--len_long]='1';}}if(buf[0]=='0')return buf+1;else    return buf;
}

第7题:求平方根

试题要求如下:

回答(C语言):

int mySqrt(int x){//牛顿迭代法long r = x;while(r * r > x){r = (r + x / r) / 2;//迭代}return (int)r;
}

第8题:爬楼梯

试题要求如下:

回答(C语言),算法说明:

int climbStairs(int n){if (n == 1) {return 1;}int *dp=(int *)malloc(sizeof(int)*(n+1));dp[1] = 1;dp[2] = 2;for (int i = 3; i <= n; i++) {dp[i] = dp[i - 1] + dp[i - 2];}return dp[n];
}

第9题:删除排序链表中的重复元素

试题要求如下:

回答(C语言):

/*** Definition for singly-linked list.* struct ListNode {*     int val;*     struct ListNode *next;* };*/struct ListNode* deleteDuplicates(struct ListNode* head){struct ListNode * p = head;struct ListNode * q;while(NULL != p){while(NULL != p->next && p->val == p->next->val){q = p->next;p->next = q->next;free(q);}p = p->next;}return head;
}

第10题:合并两个有序数组

试题要求如下:

回答(C语言):

void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){int p = m + n;m--;n--;while (n >= 0 && m >= 0) {nums1[--p] = nums1[m] <= nums2[n] ? nums2[n--] : nums1[m--];}while (n >= 0) {nums1[--p] = nums2[n--];}
}

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

  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. Go 语言编程 — 并发 — Goroutine 协程
  2. 近邻取样插值和其速度优化
  3. 【数据结构与算法】之深入解析十大常用排序算法的原理分析和算法实现
  4. python中可通过()实现代码的复用_(  )是可复用的,提供明确接口完成特定功能的程序代码块。...
  5. 点击劫持:X-Frame-Options未配置
  6. Tomcat修改源码,重新编译
  7. tempo jsnode扩展 3d图形支持。
  8. 2022年开始学习Delphi并成为Delphi程序员的5个重要原因
  9. VOT 数据集下载toolkit
  10. 抗疫逆行者网页作业 感动人物HTML网页代码成品 网页作业带JS下拉菜单 最美逆行者网页模板 致敬疫情感动人物网页设计制作
  11. IDEA安装流程(dear dad级教程)
  12. acwing 3496. 特殊年份(蓝桥杯)
  13. 1、学习笔记-谁说rookie不会数分(入门篇)
  14. Python第三方库
  15. 基于飞凌RK3588核心板的无人机主控方案
  16. web前端——实现倒计时,“距离双11天猫狂欢节还剩xxx”
  17. 测试薪资差距悬殊,我们对比北上深杭,原来藏着这些秘密!
  18. 陪你一起去看 iSO27001 Foundation 学习手册 【初生】
  19. Endnote x9.1 基础教程——批量导入.enw格式引文到Endnote中
  20. est.java 2 错误 找不到符号_生物信息学复习题

热门文章

  1. Android 判断某个服务是否正在运行
  2. Android 获取App的版本号与版本名称的2中方法
  3. Koltin 高阶函数
  4. shell /dev/null
  5. [19/03/30-星期六] IO技术_四大抽象类_ 字节流( 字节输入流 InputStream 、字符输出流 OutputStream )_(含字节文件缓冲流)...
  6. WebSocket的几个模块(node.js)(未完)
  7. Numpy 对象和字符串相互转换
  8. oracle的for和i++
  9. 团队作业4——第一次项目冲刺(Alpha版本)4.28
  10. sqlserver trigger