LeetCode
是我来晚了!
一起努力呀!
展开
-
《力扣刷题》 按奇偶排序数组
题目描述若存在一个整数数组 nums,要求将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素,返回满足此条件的任一数组作为答案 为什么要说返回任一数组呢!很容易想肯定不止是一种情况!!![3,1,2,4] 的输入可能得到的输出有 [2,4,1,3] [2,4,3,1] [4,2,1,3] [4,2,3,1] 四种C 语言具体代码实现作者的想法是两次遍历!!! 具体实现过程是第一次筛选偶数,第二次筛选奇数#inclu...原创 2022-04-28 18:36:36 · 531 阅读 · 0 评论 -
《力扣刷题》 排列硬币
题目描述若存在 n 枚硬币,并计划将它们按阶梯状排列,对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币,阶梯的最后一行可能是不完整的;若给你一个数字 n ,要求我们计算并返回可形成完整阶梯行的总行数如下图,硬币是按阶梯状排列的,其完整阶梯行的数目为 3C 语言具体代码实现先看看作者本人的想法:用一个循环来控制阶梯每一行可排列的数目,用 sum变量统计当前总硬币数并且与 n比较!!!#include <stdio.h>int arrangeCoins(原创 2022-04-19 23:08:44 · 515 阅读 · 0 评论 -
《力扣刷题》 字符串中的单词数
题目描述存在一个字符数组,要求我们将其中的单词数量返回计算字符串中单词的数量,就等同于计数单词的第一个下标的个数,因此,我们只需要遍历整个字符串,统计每个单词的第一个下标的数目即可满足单词的第一个下标有以下两个条件: 1. 该下标对应的字符不为空格 2. 该下标为初始下标或者该下标的前下标对应的字符为空格C 语言具体代码实现此处使用了题目描述中的原地法!!! 从字符数组的第一个元素开始遍历,查找所有单词的第一个下标的个...原创 2022-04-19 13:03:17 · 418 阅读 · 0 评论 -
《力扣刷题》 移动零
题目描述若存在一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序C 语言具体代码实现作者无想法!!!借鉴官方的方法:双指针使用双指针,左指针指向当前已经处理好的序列的尾部,右指针指向待处理序列的头部,右指针不断向右移动,每次右指针指向非零数,则将左右指针对应的数交换,同时左指针右移#include <stdio.h>void swap(int *a, int *b){ int t = *a; *a =...原创 2022-04-05 21:12:52 · 243 阅读 · 0 评论 -
《力扣刷题》 轮转数组
题目描述若存在一个数组,将数组中的元素向右轮转 k 个位置(其中 k 是非负数)关于轮转的概念如下我举一个例子 如存在数组 ,我们向右轮转 1 个单位,则轮转后的数组为C 语言具体代码实现这道题我刚开始是没有思路的,于是借鉴了官方的方法:使用额外的数组!!! 简单来讲,对于在原数组中位于索引 0 的元素,当我们向右轮转 k 个单位,那么这个元素应该被保存在额外数组索引为 0+k 位置;但是这样并不完善,对于原数组比较靠后的元素,如中,我们向右轮转 1...原创 2022-04-04 23:02:57 · 458 阅读 · 1 评论 -
《力扣刷题》 有序数组的平方
题目描述若存在一个按非递减顺序排列的整数数组 nums,要求返回每个数字的平方组成的新数组(使其仍为非递减顺序)C 语言具体代码实现先谈一下作者自己的想法!!!(直接排序) 将数组的每一个数字平方后保存在原位置,然后利用 qsort 函数排序(直接平方后排序)#include <stdio.h> #include <stdlib.h> int cmp(const void *_a, const void *_b){ int *a ...原创 2022-04-04 22:04:25 · 334 阅读 · 0 评论 -
《力扣刷题》 分割字符串的最大得分
题目描述若存在一个由若干 0 和 1 组成的字符串 s ,需要计算并返回将该字符串分割成两个非空子字符串(左子字符串和右子字符串)所能获得的最大得分「分割字符串的得分」为左子字符串中 0 的数量加上右子字符串中 1 的数量C 语言具体代码实现如下是我在力扣里无法通过编译的代码,但是可能在 dev编译器中通过!!!将 int length = sizeof(s)/sizeof(s[0]) 改成将int length = strlen(s) 就不报错了具体思想是,通过一个循环语句..原创 2022-04-03 22:43:21 · 584 阅读 · 0 评论