【每日刷题】Day28

【每日刷题】Day28

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

🌼文章目录🌼

1. 121. 买卖股票的最佳时机 - 力扣(LeetCode)

2. 205. 同构字符串 - 力扣(LeetCode)

3. 204. 计数质数 - 力扣(LeetCode)

1. 121. 买卖股票的最佳时机 - 力扣(LeetCode)

//思路:暴力遍历。直接遍历整个数组,找到最小值当天买入股票,卖出股票的时间一定在买入股票之后,当我们在找到最小值后直接让下标向后走,找到卖出股票与买入股票差值的最大值,记录返回。

int maxProfit(int* prices, int pricesSize)

{

    int ans = 0;

    int min = prices[0];//开始假设买入股票最小值在第一天

    for(int i = 1;i<pricesSize;i++)

    {

        if(prices[i]<min)//遍历找到买入股票最小值

        {

            min = prices[i];

            continue;//找到直接让i++向后遍历找卖出股票最大值

        }

        if(ans<prices[i]-min)//记录两者差值的最大值

        {

            ans = prices[i]-min;

        }

    }

    return ans;

}

2. 205. 同构字符串 - 力扣(LeetCode)

//0ms  100%思路:使用两个哈希表相互映射,如果其中一个哈希表中的某个元素映射到另一个哈希表中的值不是唯一的,直接返回false。

bool isIsomorphic(char* s, char* t)

{

    if(s==NULL)//最后一个用例给出的字符串为NULL,这里需要特别处理以下

    {

        return false;

    }

    int hashs[500] = {0};//字符串t中的字符在哈希表s中映射

    int hasht[500] = {0};//字符串s中的字符在哈希表t中映射

    int x = strlen(s);

    int y = strlen(t);

    if(x!=y)//长度不一样直接返回false

    {

        return false;

    }

    for(int i = 0;i<x;i++)

    {

        if(t[i]!=hashs[s[i]]&&hashs[s[i]]!=0)//如果字符串t中的字符在哈希表s中的值不是唯一的,则返回false

        {

            return false;

        }

        if(s[i]!=hasht[t[i]]&&hasht[t[i]]!=0)//如果字符串s中的字符在哈希表t中的值不是唯一的,则返回false

        {

            return false;

        }

        hashs[s[i]] = t[i];//将字符串t中的字符映射到哈希表s中

        hasht[t[i]] = s[i];//将字符串s中的字符映射到哈希表t中

    }

    return true;

}

3. 204. 计数质数 - 力扣(LeetCode)

//思路:埃氏筛。用一个数组,数组中只存储0和1,0代表是质数,1代表不是质数,当遇到质数 i 时,将从i^2开始到n的所有+=上i(包括i^i本身)的数在数组中置为1,然后继续遍历数组找到为0(说明是质数)的数重复上述过程

int countPrimes(int n)

{

    if(n<2)

    {

        return 0;

    }

    int ans = 0;

    int arr[n];

    memset(arr,0,sizeof(arr));//将数组中的元素全部置为0

    for(int i = 2;i<n;i++)

    {

        if(!arr[i])//如果数组i位置处元素为0,说明i为质数

        {

            ans+=1;//是质数,计数器++

            if((long long)i*i<n)

            {

                for(int j = i*i;j<n;j+=i)//将从i^2开始到n的所有+=上i(包括i^i本身)的数在数组中置为1

                {

                    arr[j] = 1;

                }

            }

        }

    }

    return ans;

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4970.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

解决python file.read()读取文件为空报错

问题描述 今天写的python脚本出现了file.read()读不到文件内容的问题&#xff0c;原脚本如下&#xff1a; with open(path,r) as f:znre.compile(rZN ZN)znallzn.findall(f.read())if len(znall) 1:list2.append(id)for i in list1:#print(f.read())if i in f.read():lis…

如何写得一手优雅规范的SpringBoot 接口?

导语 优雅的代码赏心悦目&#xff0c;你的代码触目惊心。 当编写 Spring Boot 接口时&#xff0c;优雅和规范是至关重要的。一个良好设计的接口能够提高代码的可读性、可维护性和可扩展性&#xff0c;从而为整个应用程序的开发和维护带来便利。 在本文中&#xff0c;我们将探讨…

关于discuz论坛网址优化的一些记录(网站地图sitemap提交)

最近网站刚上线&#xff0c;针对SEO做了些操作&#xff0c;为了方便网站网页百度被收录&#xff0c;特此记录下 discuz有免费的sitemap插件可以用&#xff0c;打开后台管理&#xff0c;找到插件栏&#xff0c;然后找到更多插件&#xff0c;进入插件市场。 选择这个免费的sitem…

【数据分析面试】34.填充NaN值 (Python:groupby/sort_value/ffill)

题目&#xff1a;填充NaN值 &#xff08;Python) 给定一个包含三列的DataFrame&#xff1a;client_id、ranking、value 编写一个函数&#xff0c;将value列中的NaN值用相同client_id的前一个非NaN值填充&#xff0c;按升序排列。 如果不存在前一个client_id&#xff0c;则返…

Linux详解:进程等待

文章目录 进程等待等待的必要性进程等待的方法waitwaitpid获取子进程status阻塞等待 与 非阻塞等待 进程等待 等待的必要性 子进程退出&#xff0c;父进程不进行回收的话&#xff0c;就可能造成僵尸进程&#xff0c;进而造成内存泄露 如果进程进入了僵尸状态&#xff0c;kill…

Tcp自连接

Tcp自连接 如果客户端和服务端都在同一个环境&#xff0c;并且客户端先于服务端启动&#xff0c;那么很有可能产生自连接的现象。 所谓自连接&#xff0c;就是tcp两端使用了同一个端口进行连接&#xff0c;即localhost:port->localhost:port。 实现自连接 下面提供一个例…

GITEE 基于OAuth2的API V5版本

为了构建更好的码云生态环境&#xff0c;我们推出了基于OAuth2的API V5版本。 API V5接口使用方式以及Url都参照GitHub&#xff0c;为了各位开发者更好的兼容已经存在的第三方应用。 API 使用条款 OSCHINA 用户是资源的拥有者&#xff0c;需尊重和保护用户的权益。不能在应用…

4.29 IO多路复用

管道&#xff0c;就是用于进程之间的通信文件&#xff0c;根本不会用到磁盘内容&#xff0c;只是用来标记一块缓冲区&#xff0c;所以无论任何时候大小都是0。 管道必须要同时打开&#xff0c;只开一端是不行的&#xff0c;这样的话不能进行后续的操作&#xff0c;会卡在那里&…

基于SpringBoot+Vue高校竞赛管理系统的设计与实现

项目介绍&#xff1a; 高校竞赛管理系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、竞赛公告管理、获奖管理、老师管理、评审管理、评审分配管理、评审打分管理、赛事管理、赛事提交管理、赛事报名管理、用户管理、专家管理、管理员管理。用…

如何安装最新版Docker Compose?

Docker Compose 是一个用于定义和运行多容器 Docker 应用程序的工具。通过 Compose&#xff0c;您可以使用 YAML 文件来配置应用服务&#xff0c;然后只需一个简单的命令便能创建和启动所有服务。在本篇博客中&#xff0c;我们将详细介绍如何在 Linux 系统上安装 Docker Compos…

修改ETCD返回数据限额

问题 通过 get_prefix, get_range 等ETCD 接口查询大量数据时&#xff0c;报数据大小超过限额。 grpc_message:“Received message larger than max (5834875 vs. 4194304)” 原因 ETCD默认设置了4MB数据限额&#xff0c;如果返回的数据超过限额则会报错。 解决方法 解决方…

可以向同事炫耀的10个Python技巧

Python 是一种用途极为广泛的编程语言&#xff0c;有大量的库和框架为其提供支持。然而&#xff0c;在庞大的 Python 生态系统中&#xff0c;还存在一些鲜为人知的编码技巧和库&#xff0c;它们可以显著增强您的开发体验并优化您的代码。我们将探讨一些鲜为人知的 Python 技巧&…

0071__waitwaitpid函数详解

&#xff08;4&#xff09;wait&&waitpid函数详解_c语言 waitpid-CSDN博客

W801学习笔记十六:掌机系统——启动第一个应用

在开始游戏应用开发之前&#xff0c;我们先搞一个简单的应用&#xff0c;目的是把菜单操作与应用启动之间打磨平顺。 这里&#xff0c;我们做一个关于About页面即可。 1、菜单项JSON的定义&#xff1a; [{"t": "关于","i": "menu/test16…

与Apollo共创生态:七周年大会深有体会!

前言 百度从2013年开始涉足自动驾驶领域。2017年3月1日&#xff0c;百度通过内部邮件宣布&#xff0c;将现有业务和资源整合&#xff0c;成立智能驾驶事业群组&#xff08;简称IDG&#xff09;。同年&#xff0c;在上海车展上&#xff0c;百度发布了“Apollo计划”&#xff0c…

Git:克隆代码,提交流程,分支提交流程

1.克隆代码 git clone http://…(代码地址&#xff09; 克隆代码到本地 2.提交流程&#xff08;不牵涉分支&#xff09; 1&#xff09;git add . 将本地修改的文件暂存到缓存区 2&#xff09;git commit -m "当次提交解释说明备注" 在日志中显示 3&#xff09;git…

0426GoodsBiddingAJAX项目

0426GoodsBiddingAJAX项目包-CSDN博客 数据库字段 ​ 管理员的登录界面 ​ 登录成功跳转在线拍卖界面&#xff0c;使用监听器拦截请求&#xff0c;只能登录管理员后访问该界面 ​ 商品竞拍列表 ​ 商品竞拍列表的竞拍操作&#xff1a; ​ 1 用户未登录跳转用户登录界面&#x…

面向对象编程三大特征:封装、继承、多态

封装、继承、多态 1. 封装 1.1 介绍 封装(encapsulation)就是把抽象出的数据 [属性] 和对数据的操作 [方法] 封装在一起,数据被保护在内部,程序的其它部分只有通过被授权的操作 [方法] ,才能对数据进行操作。 1.2 封装的理解和好处 1) 隐藏实现细节:方法(连接数据库)<…

STM32CubeMX+MDK通过I2S接口进行音频输入输出(全双工读写一个DMA回调)续-音质问题解决总结

一、前言 之前进行了STM32CubeMXMDK通过I2S接口进行音频输入输出&#xff08;全双工读写一个DMA回调&#xff09;的研究总结&#xff1a; https://juejin.cn/post/7339016190612881408#heading-34 后续音质问题解决了&#xff0c;目前测试下来48khz的双声道使用效果很好&…

JSON.toJSONString() 输出 “$ref“:“$[0]“问题解决及原因分析

一、背景 在构建一个公共的批处理方法类的时候&#xff0c;在测试输出的时候&#xff0c;打印了" r e f " : " ref":" ref":"[0][0]"的内容&#xff0c;这让我比较疑惑。不由得继续了下去… 二、问题分析 首先&#xff0c;我们需要…