当前位置: 首页 > news >正文

【刷题篇】贪心算法(一)

文章目录

  • 分割平衡字符串
  • 买卖股票的最佳时机Ⅱ
  • 跳跃游戏
  • 钱币找零

分割平衡字符串

在这里插入图片描述

class Solution {
public:int balancedStringSplit(string s) {int len=s.size();int cnt=0;int balance=0;for(int i=0;i<len;i++){if(s[i]=='R'){balance--;}else{balance++;}if(balance==0){cnt++;}}return cnt;}
};

买卖股票的最佳时机Ⅱ

在这里插入图片描述

class Solution {
public:int maxProfit(vector<int>& prices) {int maxprofit=0;int day=prices.size();for(int i=1;i<day;i++){if(prices[i-1]<prices[i]){maxprofit+=prices[i]-prices[i-1];}}return maxprofit;}
};

跳跃游戏

在这里插入图片描述

class Solution {
public:bool canJump(vector<int>& nums) {int maxlen=0;int len=nums.size();for(int i=0;i<len;i++){   //判断是否能到当前位置if(maxlen>=i){maxlen=max(maxlen,i+nums[i]);}else{   //到不了当前位置就说明也就到不了最后的位置return false;}//当最大路径大于总里程时就可以返回了if(maxlen>len-1){return true;}}return true;}
};

钱币找零

假设1元、2元、5元、10元、20元、50元、100元的纸币分别由c0,c1,c2,c3,c4,c5,c6张。现在要用这些钱来支付K元,至少要用多少张纸币?

#include<iostream>
#include<algorithm>
#include<vector>using namespace std;struct moneycmp
{bool operator()(vector<int>& array1, vector<int>& array2){return array1[0] > array2[0];}
}cmp;
//0:是面值  1:是数量
int MoneyMat(vector<vector<int>>& moneymat, int money)
{int cnt = 0;sort(moneymat.begin(),moneymat.end(),cmp);//遍历面值for (auto& array : moneymat){int c = 0;c = money / array[0];//确保取得是最小值,保证张数不会超c=min(c, array[1]);money -= c * array[0];cnt += c;}if (money != 0){return -1;}return cnt;
}int main()
{                              //面值,数量vector<vector<int>> mat = { {100,5} ,{50,3},{20,4},{5,5},{2,5},{1,10} };int money=0;cin >> money;int count=MoneyMat(mat,money);cout << count << endl;return 0;
}

相关文章:

【刷题篇】贪心算法(一)

文章目录 分割平衡字符串买卖股票的最佳时机Ⅱ跳跃游戏钱币找零 分割平衡字符串 class Solution { public:int balancedStringSplit(string s) {int lens.size();int cnt0;int balance0;for(int i0;i<len;i){if(s[i]R){balance--;}else{balance;}if(balance0){cnt;}}return …...

从维基百科通过关键字爬取指定文本内容

通过输入搜索的关键字&#xff0c;和搜索页数范围&#xff0c;爬出指定文本内内容并存入到txt文档。代码逐行讲解。 使用re、res、BeautifulSoup包读取&#xff0c;代码已测&#xff0c;可以运行。txt文档内容不乱码。 import re import requests from bs4 import BeautifulS…...

pytorch代码实现之SAConv卷积

SAConv卷积 SAConv卷积模块是一种精度更高、速度更快的“即插即用”卷积&#xff0c;目前很多方法被提出用于降低模型冗余、加速模型推理速度&#xff0c;然而这些方法往往关注于消除不重要的滤波器或构建高效计算单元&#xff0c;反而忽略了特征内部的模式冗余。 原文地址&am…...

一文解析-通过实例讲解 Linux 内存泄漏检测方法

一、mtrace分析内存泄露 mtrace&#xff08;memory trace&#xff09;&#xff0c;是 GNU Glibc 自带的内存问题检测工具&#xff0c;它可以用来协助定位内存泄露问题。它的实现源码在glibc源码的malloc目录下&#xff0c;其基本设计原理为设计一个函数 void mtrace ()&#x…...

Spring Boot常用的参数验证技巧和使用方法

简介 Spring Boot是一个使用Java编写的开源框架&#xff0c;用于快速构建基于Spring的应用程序。在实际开发中&#xff0c;经常需要对输入参数进行验证&#xff0c;以确保数据的完整性和准确性。Spring Boot提供了多种方式来进行参数验证&#xff0c;并且可以很方便地集成到应…...

手机+卫星的科技狂想

最近硬件圈最火热的话题之一&#xff0c;应该就是突然上线、遥遥领先的华为Mate 60 Pro了。 其中&#xff0c;CPU和类5G网速是怎么实现的&#xff0c;是大家特别关注的问题。相比之下&#xff0c;卫星通话这个功能&#xff0c;讨论度就略低一些&#xff08;没有说不火的意思&am…...

便捷查询中通快递,详细物流信息轻松获取

在如今快节奏的生活中&#xff0c;快递已成为人们生活中不可或缺的一部分。然而&#xff0c;快递查询却常常让人头疼&#xff0c;因为需要分别在不同的快递公司官网上进行查询&#xff0c;耗费时间和精力。为了解决这个问题&#xff0c;固乔科技推出了一款便捷的快递查询助手&a…...

ARM接口编程—Interrupt(exynos 4412平台)

CPU与硬件的交互方式 轮询 CPU执行程序时不断地询问硬件是否需要其服务&#xff0c;若需要则给予其服务&#xff0c;若不需要一段时间后再次询问&#xff0c;周而复始中断 CPU执行程序时若硬件需要其服务&#xff0c;对应的硬件给CPU发送中断信号&#xff0c;CPU接收到中断信号…...

适用于Linux的Windows子系统(PHP搭建lmap、redis、swoole环境)

目录 前言 一、Windows安装Linux子系统 二、Ubuntu搭建PHP开发环境 1.PHP 安装 2.Apache2 安装 3.MySQL安装 4.Redis安装 5.Swoole安装 总结 前言 系列分为三章&#xff08;从安装到项目使用&#xff09;&#xff1a; 一、适用于Linux的Windows子系统&#xff08;系统安装步骤…...

Vue3+Ts+Vite项目(第十二篇)——echarts安装与使用,vue3项目echarts组件封装

概述 技术栈&#xff1a;Vue3 Ts Vite Echarts 简介&#xff1a; 图文详解&#xff0c;教你如何在Vue3项目中引入Echarts&#xff0c;封装Echarts组件&#xff0c;并实现常用Echarts图例 文章目录 概述一、先看效果1.1 静态效果1.2 动态效果 二、话不多数&#xff0c;引入 …...

hive location更新hive元数据表详解

1.hive location更新方式 一、通过修改表DDL&#xff1a; alter table table_name set location hdfs://nm:8020/table_path 二、直接修改hive 的meta info: update DBS set DB_LOCATION_URI replace(DB_LOCATION_URI,"oldpath","newpath")update SDS…...

【SpringBoot】统一功能处理

目录 &#x1f383;1 拦截器 &#x1f380;1.1 拦截器的代码实现 &#x1f3a8;1.2 拦截器的实现原理 &#x1f9f6;2 拦截器应用——登录验证 &#x1f9ba;3 异常统一处理 &#x1f3ad;4 统一数据返回格式 &#x1f9e4;4.1 为什么需要统一数据返回格式 &#x1f9e3;4.2 统…...

分布式数据库-架构真题(二十六)

构件组装成软件系统的过程分为三个不同的层次&#xff08;&#xff09;。&#xff08;2018年&#xff09; 初始化、互连和集成连接、集成和演化定制、集成和扩展集成、扩展和演化 答案&#xff1a;C &#xff08;2018年&#xff09;CORBA服务端构件模型中&#xff0c;&#x…...

MyWebServer开发日记-socket

打算把 tinyWebServer 重写成跨平台&#xff08;Windows and Linux&#xff09;的。 这里首先需要跨平台的 sokcet&#xff0c;主要参考 尹圣雨 的 TCP/IP 网络编程 来着&#xff1a; 代码写的有些笨&#xff0c;欢迎批评&#xff1a; 首先是一个 socket 类&#xff0c;主要…...

图书管理信息系统分析与设计

一、系统开发的可行性分析 &#xff08;一&#xff09;系统背景.必要性及意义 随着社会经济的迅速发展和科学技术的全面进步&#xff0c;计算机事业的飞速发展&#xff0c;以计算机与通信技术为基础的信息系统正处于蓬勃发展的时期。随着经济文化水平的显著提高&#xff0c;人…...

Charles基础使用指南

##Charles 基本使用指南 Charles 在本地构建一个HTTP代理服务器&#xff0c;可以实现对HTTP、HTTPS请求的抓取&#xff0c;也就是我们常说的抓包&#xff0c;以及对请求响应的修改等。 Charles 官网地址 https://www.charlesproxy.com/ ###一、移动端的抓包实现 1. PC端开启…...

Android12之/proc/pid/status参数含义(一百六十五)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 人生格言&#xff1a; 人生…...

UMA 2 - Unity Multipurpose Avatar☀️三.给UMA设置默认服饰Recipes

文章目录 🟥 项目基础配置🟧 给UMA配置默认服饰Recipes🟨 设置服饰Recipes属性🟥 项目基础配置 将 UMA_DCS 预制体放到场景中创建空物体,添加DynamicCharacterAvatar 脚本,选择 HumanMaleDCS作为我们的基本模型配置默认Animator 🟧 给UMA配置默认服饰Recipes 服饰Re…...

uniapp-小程序登录授权框

微信官方文档 不弹出授权框原因 因为版本问题&#xff0c;目前的最新的版本是不支持 wx.getUserInfo 去主动弹出授权框 只能引导用户去点击 butten 去授权 解决方法 我的思路是参考了其他的微信微信小程序, 就是跳转到我的页面的时候 在钩子函数内去触发一个封装的模态框,状…...

Unity 性能优化Shader分析处理函数:ShaderUtil.GetShaderGlobalKeywords用法

Unity 性能优化Shader分析处理函数&#xff1a;ShaderUtil.GetShaderGlobalKeywords用法 点击封面跳转下载页面 简介 Unity 性能优化Shader分析处理函数&#xff1a;ShaderUtil.GetShaderGlobalKeywords用法 在Unity开发中&#xff0c;性能优化是一个非常重要的方面。一个常见…...

法律条款时间逻辑的DSL与状态机实现:从概念到工程实践

1. 项目概述&#xff1a;当法律条款遇上时间逻辑最近在做一个挺有意思的项目&#xff0c;叫“Clause-Logic/exoclaw-temporal”。光看名字&#xff0c;可能有点摸不着头脑&#xff0c;但如果你接触过合同、协议或者任何带有法律效力的文书&#xff0c;并且尝试过用代码去处理它…...

从测试到实战:用hashcat -b命令摸清你的显卡性能,优化破解速度

从测试到实战&#xff1a;用hashcat -b命令摸清你的显卡性能&#xff0c;优化破解速度 当你第一次在命令行中输入hashcat -b并按下回车时&#xff0c;屏幕上跳动的数字不仅仅是枯燥的基准测试结果——它们是你硬件潜力的密码。对于中级安全研究人员和密码学爱好者来说&#xff…...

Vue.Draggable终极指南:掌握拖拽数据同步的5大核心策略

Vue.Draggable终极指南&#xff1a;掌握拖拽数据同步的5大核心策略 【免费下载链接】Vue.Draggable Vue drag-and-drop component based on Sortable.js 项目地址: https://gitcode.com/gh_mirrors/vu/Vue.Draggable Vue.Draggable是一个基于Sortable.js的强大Vue.js拖拽…...

CS Demo Manager:免费开源CS比赛录像分析工具终极指南

CS Demo Manager&#xff1a;免费开源CS比赛录像分析工具终极指南 【免费下载链接】cs-demo-manager Companion application for your Counter-Strike demos. 项目地址: https://gitcode.com/gh_mirrors/cs/cs-demo-manager 你是否曾想过&#xff0c;为什么职业选手总能…...

技术深度解析:5大核心要点掌握Sunshine开源游戏串流服务器实战部署

技术深度解析&#xff1a;5大核心要点掌握Sunshine开源游戏串流服务器实战部署 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款功能强大的自托管开源游戏串流服务器…...

Adobe-GenP 3.0终极指南:如何免费激活Adobe CC全系列软件

Adobe-GenP 3.0终极指南&#xff1a;如何免费激活Adobe CC全系列软件 【免费下载链接】Adobe-GenP Adobe CC 2019/2020/2021/2022/2023 GenP Universal Patch 3.0 项目地址: https://gitcode.com/gh_mirrors/ad/Adobe-GenP Adobe-GenP 3.0是一款强大的Adobe Creative Cl…...

长期使用Taotoken后对账单追溯与审计功能的实际评价

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 长期使用Taotoken后对账单追溯与审计功能的实际评价 在持续使用大模型服务进行项目开发与团队协作的过程中&#xff0c;成本的可观…...

【DSP学习】外部中断实验-基于普中DSP28335开发攻略

参考材料 普中DSP28335开发攻略 一、外部中断配置 1 失能 CPU 级中断&#xff0c;并初始化 PIE 控制器寄存器和 PIE 中断向量表在前面学习中断章节中&#xff0c;我们知道 F28335 的外设中断需通过 PIE 控制器来管理&#xff0c;因此需要初始化 PIE 相应的寄存器和中断向量表。…...

Godot开发者的宝藏:awesome-godot资源库使用指南与实战技巧

1. 项目概述&#xff1a;一个游戏开发者的“藏宝图”如果你正在用Godot引擎做游戏&#xff0c;或者对这个开源、轻量又强大的工具感兴趣&#xff0c;那你大概率听说过或者正在寻找一个叫“awesome-godot”的仓库。这可不是一个普通的代码项目&#xff0c;它更像是一份由全球God…...

Postman实战:自动化管理API访问令牌的两种高效策略

1. 为什么需要自动化管理API访问令牌 在如今的API开发中&#xff0c;身份验证和授权已经成为必不可少的安全机制。大多数现代API都采用基于令牌(Token)的认证方式&#xff0c;其中Bearer Token是最常见的标准之一。想象一下&#xff0c;每次调用API都需要手动复制粘贴一长串Tok…...