【每日刷题】Day11

【每日刷题】Day11

🥕个人主页:开敲🍉

🔥所属专栏:每日刷题🍍

目录

1. 860. 柠檬水找零 - 力扣(LeetCode)

2. 976. 三角形的最大周长 - 力扣(LeetCode)

3. 1232. 缀点成线 - 力扣(LeetCode)

1. 860. 柠檬水找零 - 力扣(LeetCode)

//思路:这题实际上只需要判断5元钱的剩余数。

bool lemonadeChange(int* bills, int billsSize)

{

    int i = 0;

    int five = 0;//用于记录收到5元的数量

    int ten = 0;//用于记录收到10元的数量

    for(i = 0;i<billsSize;i++)

    {

        if(bills[i]==5)

        {

            five++;//收到5元,five++

        }

        else if(bills[i]==10)

        {

            ten++;//收到10元需要找回顾客5元,多一张10元

            five--;

        }

        else

        {

            if(ten>0)

            {

                ten--;//收到20元时,需要判断收到的10元个数,如果不为0,则可以用10元与5元结合找回给顾客

                five--;

            }

            else

            {

                five-=3;//否则只能找3张5元给顾客

            }

        }

        if(five<0)

        {

            return false;//如果最后5元数量小于0了,说明有顾客无法正确找零

        }

    }

    return true;

}

2. 976. 三角形的最大周长 - 力扣(LeetCode)

//思路:将数组先排为降序,然后从头开始三个三个遍历,因为是降序,所以需要让i+2和i+1的和大于i才能成为三角形。并且,因为是降序,所以第一个找到的能成为三角形的数据组一定是最大的

int largestPerimeter(int* nums, int numsSize)

{

    int i = 0;

    int j = 0;

    for(i = 0;i<numsSize-1;i++)

    {

        for(j = 0;j<numsSize-i-1;j++)

        {

            if(nums[j]<nums[j+1])

            {

                int tmp = nums[j];

                nums[j] = nums[j+1];//使用冒泡排序(这里可以有更好的排序算法)将数组排为降序

                nums[j+1] = tmp;

            }

        }

    }

    for(i = 0;i<numsSize-2;i++)

    {

        if(nums[i+2]+nums[i+1]>nums[i])

        {

            return nums[i]+nums[i+1]+nums[i+2];//只要找到一个能成为三角形的数据组直接返回,一定是最大的

        }

    }

    return 0;

}

3. 1232. 缀点成线 - 力扣(LeetCode)

//思路:两点确定一条直线。将第一个点移回原点,后面的点根据第一个点的位移情况相应地位移;再根据原点和第二个点创建一条直线,将后面点地x、y带入方程中,通过判断方程是否有解来判断该点是否在直线上。需要注意地是,这里我们需要考虑直线平行于x、y轴的情况。

bool checkStraightLine(int** coordinates, int coordinatesSize, int* coordinatesColSize)

{

    int i = 0;

    int flag = 1;//用于判断方程是否有解

    int flag1 = 1;//用于判断直线是否平行于y轴

    int flag2 = 1;//用于判断直线是否平行于x轴

    int equ = 0;//方程

    int firstx = coordinates[0][0];//记录第一个点的x坐标,因为后面会改变第一个点的x、y坐标,因此这里需要记录初始值

    int firsty = coordinates[0][1];//记录第一个点的y坐标

    for(i = 0;i<coordinatesSize;i++)//将第一个点移动到原点,并相应移动后面的点

    {

        coordinates[i][0]-= firstx;

        coordinates[i][1]-= firsty;

    }

    for(i = 0;i<coordinatesSize-1;i++)//判断直线是否平行于y轴

    {

        if(coordinates[i][0]!=coordinates[i+1][0])

        {

            flag1 = 0;

        }

    }

    for(i = 0;i<coordinatesSize-1;i++)//判断直线是否平行于x轴

    {

        if(coordinates[i][1]!=coordinates[i+1][1])

        {

            flag2 = 0;

        }

    }

    if(flag1)//如果flag1不为0,则说明直线平行于y轴,直接返回true

    {

        return true;

    }

    if(flag2)//如果flag2不为0,则说明直线平行于x轴,直接返回true

    {

        return true;

    }

    for(i = 2;i<coordinatesSize;i++)//直线不平行于x轴也不平行于y轴,则通过方程判断每个点是否都在给定直线上

    {

        equ = ((coordinates[1][1]*coordinates[i][0])-(coordinates[1][0]*coordinates[i][1]));

        if(equ!=0)

        {

            flag = 0;

            break;

        }

    }

    if(flag)//如果flag不为0,则说明每个点都在直线上,返回true

    {

        return true;

    }

    return false;

}

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

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

相关文章

CMD命令窗口提示文字乱码

我下面说的是日文版系统&#xff0c;中文版会有差异。 一般情况下是 Shiftjis 通常我是用sakura editor来写bat&#xff0c;但是运行后会在cmd窗口出现乱码 test.bat set HENSU这是一个变数 echo %HENSU% pause 执行后出现乱码 原因是不做设置时&#xff0c;command prom…

Switch-case

Java switch case 语句 switch case 语句判断一个变量与一系列值中某个值是否相等&#xff0c;每个值称为一个分支。 语法 switch case 语句语法格式如下&#xff1a; switch(expression){case value ://语句break; //可选case value ://语句break; //可选//你可以有任意数量…

卫星影像联合无人机实现农业保险全生命周期监管监测

随着科技的进步&#xff0c;农业保险监管系统的发展日新月异。特别是近年来&#xff0c;随着卫星技术与无人机技术的结合&#xff0c;为农业保险监管系统带来了前所未有的革新。本文将深入探讨如何利用卫星与无人机方案构建高效的农业保险监管系统&#xff0c;并结合实例进行说…

python之堆的实现

堆本质是一个完全二叉树&#xff0c;分为大根堆和小根堆&#xff0c;大根堆每个结点的值都大于它的孩子的值&#xff0c;小根堆相反&#xff0c;每个结点的值都小于它的孩子的值 heapq是python的标准库&#xff0c;用于维护堆&#xff0c;非常方便 heapq库常用的几个函数 he…

快速实现一个Hibernate的例子

写第一个简单的Hibernate程序&#xff1a; 具体的开始第一个Hibernate程序之前: 找到jar包, hibernate 的核心包, mysql数据库的连接驱动包, junit测试包 ①创建Hibernate配置文件 ②创建持久化类 也是和数据库中数据表一一对应这个类 ③创建对象-关系映射文件 ④通过hibern…

Day17_学点JavaEE_转发、重定向、Get、POST、乱码问题总结

1 转发 转发&#xff1a;一般查询了数据之后&#xff0c;转发到一个jsp页面进行展示 req.setAttribute("list", list); req.getRequestDispatcher("student_list.jsp").forward(req, resp);2 重定向 重定向&#xff1a;一般添加、删除、修改之后重定向到…

Pandas部分应掌握的重要知识点

目录 Pandas部分应掌握的重要知识点一、DataFrame数据框的创建1、直接基于二维数据创建&#xff08;同时使用index和columns参数&#xff09;2、基于excel文件中的数据来创建 二、查看数据框中的数据和联机帮助信息1、查看特殊行的数据2、查看联机帮助的两种常见方法&#xff0…

Python制作下载图片的脚本

如果你感觉有收获&#xff0c;欢迎给我微信扫打赏码 ———— 以激励我输出更多优质内容 需求: 今天遇到一个需求,需要下载一个网站上连续的图片素材,一开始一个一个下载太麻烦,于是制作了一个python脚本快速下载 操作: import os #【os模块常用功能】文件的目录、路径操作…

HashMap的常见问题

Entry中的hash属性为什么不直接使用key的hashCode()返回值呢&#xff1f; 不管是JDK1.7还是JDK1.8中&#xff0c;都不是直接用key的hashCode值直接与table.length-1计算求下标的&#xff0c;而是先对key的hashCode值进行了一个运算&#xff0c;JDK1.7和JDK1.8关于hash()的实现…

学习数通HCIE选择誉天有什么优势?

誉天数通课程亮点 课程内容详实&#xff0c;千万级实训环境 涵盖数通技术全场景热门技术&#xff0c;涉及传统园区网&#xff0c;虚拟化园区网&#xff0c;广域互联技术&#xff0c;数据中心网络&#xff0c;网络自动化运维 专业机房环境&#xff0c;全真机教学演示&#xf…

【JavaEE初阶系列】——网络编程 TCP客户端/服务器 程序实现

目录 &#x1f6a9;TCP流套接字编程 &#x1f36d;ServerSocket API &#x1f36d;Socket API &#x1f36d;TCP服务器 &#x1f36d;TCP客户端 &#x1f6a9;TCP流套接字编程 俩个关键的类 ServerSocket (给服务器使用的类&#xff0c;使用这个类来绑定端口号&#xff0…

2024接口自动化测试入门基础知识【建议收藏】

接口自动化测试是指通过编写测试脚本和使用相关工具&#xff0c;对软件系统的接口进行自动化测试的过程。 今天本文从4个方面来介绍接口自动化测试入门基础知识 一、接口自动化测试是什么&#xff1f; 二、接口自动化测试流程&#xff1f; 三、接口自动化测试核心知识点有那些…

MySQL一些特殊功能的索引(6/16)

特殊功能性索引 B-Tree索引&#xff1a; InnoDB的默认索引类型&#xff0c;适用于多种查询操作。 可以用于等值查询、范围查询和索引列的组合查询。 创建B-Tree索引的示例&#xff1a; CREATE INDEX index_name ON table_name (column1, column2);全文索引&#xff08;FULLTEX…

力扣207.课程表

你这个学期必须选修 numCourses 门课程&#xff0c;记为 0 到 numCourses - 1 。 在选修某些课程之前需要一些先修课程。 先修课程按数组 prerequisites 给出&#xff0c;其中 prerequisites[i] [ai, bi] &#xff0c;表示如果要学习课程 ai 则 必须 先学习课程 bi 。 例如…

基于springboot实现教师人事档案管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现IT技术交流和分享平台系统演示 摘要 我国科学技术的不断发展&#xff0c;计算机的应用日渐成熟&#xff0c;其强大的功能给人们留下深刻的印象&#xff0c;它已经应用到了人类社会的各个层次的领域&#xff0c;发挥着重要的不可替换的作用。信息管理作为计算…

事务,MySQL函数和索引详解

文章目录 事务简介提交方式手动提交事务 事务执行流程修改事务的默认提交方式 事务原理四大特性隔离级别 MySQL函数常见的日期函数判断函数case when字符串函数数字函数 MySQL性能(了解)索引概念分类MySQL索引语法数据结构(了解)BTreeBTree好处 优缺点优势劣势 创建原则 事务简…

python中time库的time.time()函数的作用是什么?

python中time库的time.time()函数的作用是什么&#xff1f; 作用&#xff1a;Python time time() 返回当前时间的时间戳&#xff08;1970纪元后经过的浮点秒数&#xff09;。 time()方法语法&#xff1a;time.time() #!/usr/bin/python # Write Python 3 code in this onlin…

【LeetCode】动态规划类题目详解

所有题目均来自于LeetCode&#xff0c;刷题代码使用的Python3版本 动态规划 问题分类 如果某一个问题有重叠的子问题&#xff0c;则使用动态规划进行求解是最有效的。 动态规划中每一个状态一定是由上一个状态推导出来的&#xff0c;这一点区别于贪心算法 动态规划五部曲 确…

【JMeter】JMeter控制RPS

一、前言 ​ RPS (Request Per Second)一般用来衡量服务端的吞吐量&#xff0c;相比于并发模式&#xff0c;更适合用来摸底服务端的性能。我们可以通过使用 JMeter 的常数吞吐量定时器来限制每个线程的RPS。对于RPS&#xff0c;我们可以把他理解为我们的TPS&#xff0c;我们就不…

初识SpringMVC

一、什么是MVC MVC是一种软件架构模式&#xff08;是一种软件架构设计思想&#xff0c;不止Java开发中用到&#xff0c;其它语言也需要用到&#xff09;&#xff0c;它将应用分为三块&#xff1a; M&#xff1a;Model&#xff08;模型&#xff09;V&#xff1a;View&#xff08…