【C语言刷题——Leetcode与PTA简单题】

120 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第34天,点击查看活动详情

231. 2 的幂

image-20220606230419638

题目要求比较简单,这里提供一个非常简单的思路:

对于判断是不是2的幂的数,我们只要知道,对于是2的幂的数,它的二进制位只有一个1即可,基于此,我们搬出我们的按位与操作符来解决此题

下面看看代码:

image-20220606230605531 image-20220606230630092

嫩过就行!

704. 二分查找

image-20220606230738635

二分查找哇,一开始就接触了,是我们的老朋友了,现在不知道对它是不是很熟悉呢?

image-20220606230818722

提交运行:

image-20220606230853316

905. 按奇偶排序数组

image-20220606230935780

题目目的很明确:将 nums 中的的所有偶数元素移动到数组的前面,后跟所有奇数元素

解题思路:这里可以采取left和right两个变量一前以后来解决,双管齐下,当判断下标为left的数为偶数时,直接left++,当判断下标为right的数为奇数时,直接right--,直到left<right,后面直接进行交换即可,同时我们要去注意数组的越界问题(对于每一道题,我们都要注意数组是否越界这个问题)这就是整体的思路,下面,直接来上手我们的代码:

image-20220606231336445

提交运行:

image-20220606231358414

1672. 最富有客户的资产总量

这道题不算难,理解之后做起来就比较轻松了,我们只要知道这是一个二维数组,计算的是其中每一组元素最大的值即可,下面直接上手我们的代码:

image-20220606231555372

提交运行:

image-20220606231614553

PTA题目:7-1 模拟EXCEL排序

image-20220606231842141

解题思路:这道题我是通过定义结构体构造具体的学生,然后根据C的值做出不同的排序,这里排序直接利用qsort函数即可,排序函数实现根据结构体里的成员变量即可,最后还要进行输出。下面直接看我们的代码:

image-20220606232049578

提交运行: