力扣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;
}
相关推荐
老马啸西风7 分钟前
成熟企业级技术平台-09-加密机 / 密钥管理服务 KMSS(Key Management & Security Service)
人工智能·深度学习·算法·职场和发展
cooldream200917 分钟前
当代 C++ 的三大技术支柱:资源管理、泛型编程与模块化体系的成熟演进
开发语言·c++
程序员Jared21 分钟前
深入浅出C语言——文件操作
c语言
Ulana27 分钟前
计算机基础10大高频考题解析
java·人工智能·算法
Queenie_Charlie38 分钟前
数字去重(set)
数据结构·c++·set
圣保罗的大教堂1 小时前
leetcode 3433. 统计用户被提及情况 中等
leetcode
Ayanami_Reii1 小时前
区间不同数的个数-树状数组/线段树/莫队/主席树
数据结构·c++·算法·线段树·树状数组·主席树·莫队
李玮豪Jimmy1 小时前
Day37:动态规划part10(300.最长递增子序列、674.最长连续递增序列 、718.最长重复子数组)
算法·动态规划
大筒木老辈子2 小时前
C++笔记---并发支持库(atomic)
java·c++·笔记
歌_顿2 小时前
Embedding 模型word2vec/glove/fasttext/elmo/doc2vec/infersent学习总结
人工智能·算法