力扣238和169

一:238. 除自身以外数组的乘积

1.1题目

1.2思路

1.3代码

复制代码
//左右乘表
int* productExceptSelf(int* nums, int numsSize, int* returnSize) 
{
    int* answer = (int*)malloc(numsSize*sizeof(int));
    int i = 0;
    int left[numsSize],right[numsSize];
    left[0] = 1;
    for(i = 1;i<numsSize;i++)
    {
        left[i] = (left[i-1]) * (nums[i-1]);
    }
    right[numsSize-1] = 1;
    for(i = numsSize-2;i>=0;i--)
    {
        right[i] = (right[i+1]) * (nums[i+1]);
    }
    for(i =0;i<numsSize;i++)
    answer[i] = left[i]*right[i];
    *returnSize = numsSize;
    return answer;
    
}

二:169. 多数元素

2.1题目

2.2思路

思路一:

思路二:

2.3代码

复制代码
//摩尔投票法
//先假设数组中任意一个数就是众数,然后下一次i++时
//nums[i]=这个数,cont就++,如果不等于就--,如果cont为零,则下次这数就是nums[i]了
int majorityElement(int* nums, int numsSize) 
{
    int can = nums[0];
    int s = 1;
    for(int i = 1; i<numsSize;i++)
    {
        if(s == 0)
        can = nums[i];

        if(nums[i] == can)
        s++;
        else
        s--;
    }
    return can;
}
相关推荐
_w_z_j_12 分钟前
爱丽丝的人偶
算法
老前端的功夫1 小时前
Vue2中key的深度解析:Diff算法的性能优化之道
前端·javascript·vue.js·算法·性能优化
淀粉肠kk1 小时前
【C++】map和set的使用
c++
yongui478342 小时前
基于深度随机森林(Deep Forest)的分类算法实现
算法·随机森林·分类
是苏浙2 小时前
零基础入门C语言之C语言实现数据结构之单链表经典算法
c语言·开发语言·数据结构·算法
纵有疾風起2 小时前
C++—vector:vecor使用及模拟实现
开发语言·c++·经验分享·开源·stl·vector
橘颂TA2 小时前
【剑斩OFFER】算法的暴力美学——点名
数据结构·算法·leetcode·c/c++
迷途之人不知返3 小时前
数据结构之,栈与队列
数据结构
MATLAB代码顾问3 小时前
多种时间序列预测算法的MATLAB实现
开发语言·算法·matlab
71-34 小时前
C语言练习题——判断水仙花数(0-100000)
c语言·笔记·学习