前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >力扣(LeetCode)刷题,简单题(第11期)

力扣(LeetCode)刷题,简单题(第11期)

作者头像
不脱发的程序猿
发布于 2021-01-20 02:51:55
发布于 2021-01-20 02:51:55
30700
代码可运行
举报
运行总次数:0
代码可运行

目录

第1题:二进制表示中质数个计算置位

第2题:消失的数字

第3题:最小绝对差

第4题:按奇偶排序数组II

第5题:主要元素

第6题:逐步求和得到正数的最小值

第7题:找不同

第8题:魔术索引

第9题:托普利茨矩阵

第10题:下一个更大元素1


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

第1题:二进制表示中质数个计算置位

试题要求如下:

回答(C语言):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 判断是否为质数
bool isPrime(int num){
    if (num < 2) return false;
    int i;
    for(i = 2; i * i <= num; i++) {
        if (num % i == 0) return false;
    }
    return true;
}

int getOneCount(int num){
    int count = 0;
    while (num != 0) {
        num &= (num - 1);
        count++;
    }
    return count;
}

// 算出含有1的个数m,m是否为素数
int countPrimeSetBits(int L, int R){
    int i,num,count = 0;
    for (i = L; i <= R; i++) {
        num = getOneCount(i);
        if (isPrime(num)) count++;
    }
    return count;
}

运行效率如下所示:


第2题:消失的数字

试题要求如下:

回答(C语言):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int missingNumber(int* nums, int numsSize){
    int i=0;
    int* data_buf=(int*)malloc(sizeof(int)*(numsSize+1));
    memset(data_buf,0,sizeof(int)*(numsSize+1));

    for(i=0;i<numsSize;i++){
        data_buf[nums[i]]++;
    }

    for(i=0;i<numsSize;i++){
        if(data_buf[i]==0){
            break;
        }
    }

    data_buf[numsSize]='\0';

    return i;
}

运行效率如下所示:


第3题:最小绝对差

试题要求如下:

回答(C语言):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * 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 cmp(const void* num, const void* num2){
    return *(int*)num - *(int*)num2;
}

int** minimumAbsDifference(int* arr, int arrSize, int* returnSize, int** returnColumnSizes){
   
    qsort(arr,arrSize,sizeof(int),cmp);
    int **returnarra = malloc(sizeof(int*)*arrSize), count = 0;
    int *ColumnSizes = (int*)malloc(sizeof(int)* arrSize);
    assert(returnarra!=NULL && ColumnSizes!=NULL);

    int different, min = abs(arr[0]-arr[arrSize-1]);
    for(int i = 1; i < arrSize;i++){
        if((different = abs(arr[i] - arr[i-1])) < min){
            min = different;
        }
    }

    for(int i = 1; i < arrSize; i++){
        different = abs(arr[i] - arr[i-1]);
        if(different == min){
            int *pair = malloc(sizeof(int) * 2);
            pair[0] = arr[i-1];
            pair[1] = arr[i];
            returnarra[count] =pair;
            ColumnSizes[count++] = 2;
        }
    }
    
    *returnSize = count;
    *returnColumnSizes = ColumnSizes;
    return returnarra; 
}

运行效率如下所示:


第4题:按奇偶排序数组II

试题要求如下:

回答(C语言):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* sortArrayByParityII(int* A, int ASize, int* returnSize){
    //int* arr = (int*)malloc(sizeof(int) * ASize);
    *returnSize = ASize;
    int odd = 1;
    for (int i = 0; i < ASize; i += 2) {
        if (A[i] % 2 != 0) {
            while (A[odd] % 2 == 1) {
                odd += 2;
            }
            int tmp = A[odd];
            A[odd] = A[i];
            A[i] = tmp;
        }    
    }
    return A;
}

运行效率如下所示:


第5题:主要元素

试题要求如下:

回答(C语言):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int majorityElement(int* nums, int numsSize){
    int cur;
    int counter = 0;
    for (int i = 0; i < numsSize; i++) {
        if (counter == 0) {
            counter = 1;
            cur = nums[i];
        } else if (cur != nums[i]) {
            counter--;
        } else {
            counter++;
        }       
    }
    if(counter > 0)
        return cur;
    else
        return -1; 
}

运行效率如下所示:


第6题:逐步求和得到正数的最小值

试题要求如下:

回答(C语言):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int minStartValue(int* nums, int numsSize)
{
    int min = nums[0], count = 0;

    for (int i = 0; i < numsSize; i ++)
    {
        count += nums[i];
        min = min < count ? min : count;
    }

    min = 1 - min;
    
    return min > 0 ? min : 1;
}

运行效率如下所示:


第7题:找不同

试题要求如下:

回答(C语言):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
char findTheDifference(char * s, char * t){
    int sum_s = 0,sum_t = 0;

    for(int i = 0;i < strlen(t);i++){
        if(i < strlen(t)-1){
            sum_s +=s[i];
        }

        sum_t +=t[i];
    }
    
    return sum_t-sum_s;
}

运行效率如下所示:


第8题:魔术索引

试题要求如下:

回答(C语言):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int findMagicIndex(int* nums, int numsSize){
    for(int i = 0;i < numsSize;i++){
        if(nums[i] == i){
            return i;
        }
    }
    return -1;
}

运行效率如下所示:


第9题:托普利茨矩阵

试题要求如下:

回答(C语言):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
//(r1, c1) (r2, c2)满足对角线的特点 r1 - c1 == r2 - c2
bool isToeplitzMatrix(int** matrix, int matrixSize, int* matrixColSize){
    for(int i = 1;i < matrixSize;++i)
    {
        for(int j = 1;j < matrixColSize[0];++j)
        {
            if(matrix[i-1][j-1] != matrix[i][j])
                return false;
        }
    }
    return true;
}

运行效率如下所示:


第10题:下一个更大元素1

试题要求如下:

回答(C语言):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/**
 * Note: The returned array must be malloced, assume caller calls free().
 */
int* nextGreaterElement(int* nums1, int nums1Size, int* nums2, int nums2Size, int* returnSize){
    int* res = (int*)malloc(sizeof(int) * nums1Size);
    int flag = 0;
    int i,j;
    
    for(i = 0; i < nums1Size; i++) {
        for(j = 0; j < nums2Size; j++) {
            if(nums1[i] == nums2[j]) {
                flag = 1;
                continue;
            } 
            else if(nums1[i] < nums2[j] && flag == 1) {
                res[i] = nums2[j];
                break;
            } 
        }

        if(j == nums2Size) {
            res[i] = -1;
        }

        flag = 0;
    }

    *returnSize = nums1Size;
    return res;
}

运行效率如下所示:

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020/04/23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
matlab绘制plot_matlab最基本的绘图函数为
  2,plot(x,y):创建2维直线图。例如(以下代码都是在command窗口敲的):
全栈程序员站长
2022/11/05
5720
matlab绘制plot_matlab最基本的绘图函数为
Matlab绘图方法整理(超完整版)
二维图像是我们在学习过程中经常会接触到的图像,比如在做数学题目时随手画出的一个正弦曲线,这个图像往往是我们根据它的函数做出来的,事实确是这样,在我们学习过程中画出来的每一个图像几乎都是函数,反过来说,每一个函数都对应着它自己的图像,我们能画出来的二维图像往往是一个一元函数即二元方程,在Matlab中做二维图像也是这样,我们根据一个函数来画出它的图像,不过要注意的一点是,在Matlab画图的过程中,它并不认识你给出的那个函数,它要做的仅仅是把你给出的函数上的点连成线而已。
全栈程序员站长
2022/09/07
2.6K0
Matlab绘图方法整理(超完整版)
matlab plot图像_可以画函数图像的app
线型、标记和颜色,指定为包含符号的字符向量或字符串。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。
全栈程序员站长
2022/11/04
1.6K0
matlab plot图像_可以画函数图像的app
Matlab画图-非常具体,非常全面
强大的画图功能是Matlab的特点之中的一个,Matlab提供了一系列的画图函数,用户不须要过多的考虑画图的细节,仅仅须要给出一些基本參数就能得到所需图形,这类函数称为高层画图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层画图操作。这类操作将图形的每一个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每一个对象分配一个句柄,能够通过句柄对该图形元素进行操作,而不影响其它部分。
全栈程序员站长
2021/11/18
2.3K0
Matlab高阶绘图功能(文末送书,别错过)
上文分享了一些matlab的绘图方法,也给读者推荐3本科研绘图的参考书。同时文末活动(欢迎大家文末留言分享matlab的高阶绘图应用方法,精选3位读者,赠送《MATLAB科研绘图与学术图表绘制从入门到精通》一本)
用户9925864
2024/06/27
2710
Matlab高阶绘图功能(文末送书,别错过)
plot函数的用法_ezplot函数
matlab的图形绘制是非常重要的一种功能,所有关于数据分析挖掘方面一定会用到此项功能。
全栈程序员站长
2022/11/18
1.2K0
MATLAB中plot函数_getline函数用法
此 MATLAB 函数 创建 Y 中数据对 X 中对应值的二维线图。 如果 X 和 Y 都是向量,则它们的长度必须相同。plot 函数绘制 Y 对 X 的图。 如果 X 和 Y 均为矩阵,则它们的大小必须相同。plot 函数绘制 Y 的列对 X 的列的图。 如果 X 或 Y 中的一个是向量而另一个是矩阵,则矩阵的各维中必须有一维与向量的长度相等。如果矩阵的行数等于向量长度,则 plot 函数绘制矩阵中的每一列对向量的图。如果矩阵的列数等于向量长度,则该函数绘制矩阵中的每一行对向量的图。如果矩阵为方阵,则该函数绘制每一列对向量的图。 如果 X 或 Y 之一为标量,而另一个为标量或向量,则 plot 函数会绘制离散点。但是,要查看这些点,您必须指定标记符号,例如 plot(X,Y,‘o’)
全栈程序员站长
2022/11/03
1.1K0
MATLAB中plot函数_getline函数用法
matlab的三维绘图和四维绘图「建议收藏」
光照是利用方向官员照亮物体的技术,这项技术能使表面微妙的差异更容易看到,光照也能用来对三维的图像增加现实感。
全栈程序员站长
2022/11/10
6.8K0
matlab的三维绘图和四维绘图「建议收藏」
Matlab绘图(一二三维)
强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。
全栈程序员站长
2022/07/15
2.5K0
Matlab画图技巧与实例:堆叠图stackedplot
线图,包括:plot,plot3,stairs,errorbar,area,stackedplot函数。
用户9925864
2022/07/27
3.2K0
Matlab画图技巧与实例:堆叠图stackedplot
Matlab——二维绘图(最为详细,附上相关实例)
为了帮助各位同学备战数学建模和学习Matlab的使用,今天我们来聊一聊 Matlab 中的绘图技巧吧!对于 Matlab 这样的科学计算软件来说,绘图是非常重要的一项功能。在数据处理和分析时,良好的绘图技巧能够更直观地呈现数据,增强数据可读性和可视性
是Nero哦
2024/01/18
2.6K0
Matlab——二维绘图(最为详细,附上相关实例)
Simulink建模与仿真(4)-Simulink使用基础(MATLAB的基本绘图功能)
MATLAB作为高性能、交互式的科学计算工具,具有非常友好的图形界面,这使得MATLAB的应用非常广泛;同时MATLAB也提供了强大的绘图功能,这使得用户可以通过对MATLAB内置绘图函数的简单调用,便可迅速绘制出具有专业水平的图形。在利用Simulink进行动态系统仿真时,图形输出可以使设计者快速地对系统性能进行定性分析,故可大大缩短系统开发时间。
用户9925864
2023/09/05
2.9K0
Simulink建模与仿真(4)-Simulink使用基础(MATLAB的基本绘图功能)
Matlab画三维图_读书笔记图画
plot3 基本的三维曲线图绘制 plot3(x,y,z),x,y,z均为相同长度的向量,会得到三个向量相同下标构成的的三维坐标(xi,yi,zi)(i=1~n)连的曲线
全栈程序员站长
2022/11/10
1.2K0
Matlab画三维图_读书笔记图画
matlab plot函数详解取值范围_matlab为什么plot不出来图
plot(x,y)这种格式中,若x,y是向量,则它们必须具有相同的长度。函数将以x为横轴,绘制y。
全栈程序员站长
2022/11/03
1.7K0
matlab中plot函数的功能及用法_plot绘制什么图
本文转自http://blog.sina.com.cn/s/blog_d8f783c90102woqb.html
全栈程序员站长
2022/11/03
3.7K0
matlab中plot函数的功能及用法_plot绘制什么图
MATLAB中画折线图:plot函数的简单用法
关于MATLAB里柱状图的画法,以及如何在图例legend和轴标签xlabel里加入latex公式,请参考 https://blog.csdn.net/u014261408/article/details/102511989。
全栈程序员站长
2022/09/06
1.4K0
MATLAB中画折线图:plot函数的简单用法
MATLAB绘图总结
二维图像是在不同的平面坐标上将数据点连接起来的平面图像。常用的平面坐标有,直角坐标、极坐标、对数坐标等,MATLAB有很多常用的指令来绘制不同的二维图像。
全栈程序员站长
2022/09/07
1.9K0
一起来学matlab-matlab学习笔记8 基本绘图命令_4 LineSpec线条设定
本文为matlab自学笔记的一部分,之所以学习matlab是因为其真的是人工智能无论是神经网络还是智能计算中日常使用的,非常重要的软件。也许最近其带来的一些负面消息对国内各个高校和业界影响很大。但是我们作为技术人员,更是要奋发努力,拼搏上进,学好技术,才能师夷长技以制夷,为中华之崛起而读书!
演化计算与人工智能
2020/08/14
8560
一起来学matlab-matlab学习笔记8 基本绘图命令_4 LineSpec线条设定
Matlab入门到放弃(三)、matlab基础知识
2、在进行矩阵之间的运算时,假设a,b表示两个矩阵,a*b表示矩阵a与矩阵b进行矩阵相乘,a.*b表示矩阵a中的元素与矩阵b中的元素按位置依次相乘,得到的结果作为新矩阵相同位置的元素。
根究FPGA
2020/06/29
1.2K0
一文搞懂Matlab画图那些事(上篇)
本文主要介绍了在MATLAB中利用绘图函数进行二维图形绘制的方法和技巧,包括曲线、散点图、饼图、条形图等。同时介绍了绘图辅助函数,如图形标记、坐标轴标注等,以及如何进行多图绘制和图形处理。
码科智能
2018/01/03
3.2K0
一文搞懂Matlab画图那些事(上篇)
推荐阅读
相关推荐
matlab绘制plot_matlab最基本的绘图函数为
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档