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

24.日常算法

1. 数组中两元素的最大乘积

题目来源
给你一个整数数组 nums,请你选择数组的两个不同下标 i 和 j,使 (nums[i]-1)*(nums[j]-1) 取得最大值。请你计算并返回该式的最大值。

示例 1:
输入:nums = [3,4,5,2]
输出:12
解释:如果选择下标 i=1 和 j=2(下标从 0 开始),则可以获得最大值,(nums[1]-1) * (nums[2]-1) = (4-1) * (5-1) = 3 * 4 = 12 。

class Solution {
public:int maxProduct(vector<int>& nums) {sort(nums.begin(), nums.end());int i = nums.size() - 1;int j = i - 1;return (nums[i]-1)*(nums[j]-1);}
};

2. 替换后的最长重复字符

题目来源
给你一个字符串 s 和一个整数 k 。你可以选择字符串中的任一字符,并将其更改为任何其他大写英文字符。该操作最多可执行 k 次。在执行上述操作后,返回 包含相同字母的最长子字符串的长度。

示例 1:
输入:s = “ABAB”, k = 2
输出:4
解释:用两个’A’替换为两个’B’,反之亦然。

class Solution {
public:int characterReplacement(string s, int k) {int ret = 0;int left = 0, right = 0;int hash[26] = {0};int max_count = 0;while (right < s.size()){hash[s[right] - 'A']++;max_count = max(max_count, hash[s[right] - 'A']);// 不满足窗口大小中最多重复字母数+k < 窗口大小while (max_count + k < right - left + 1){hash[s[left] - 'A']--;++left;}ret = max(ret, right - left + 1);++right;}return ret;}
};
http://www.lryc.cn/news/526067.html

相关文章:

  • 分布式理解
  • wordpress调用指定ID页面的链接
  • 单值二叉树(C语言详解版)
  • python学opencv|读取图像(四十二)使用cv2.add()函数实现多图像叠加
  • 速通Docker === Docker Compose
  • LMI Gocator GO_SDK VS2019引用配置
  • 技术之翼,创作之心
  • WebSocket异步导出
  • OS2.【Linux】基本命令入门(1)
  • 【二叉树】4. 判断一颗二叉树是否是平衡二叉树。5. 对称二叉树。6. 二叉树的构建及遍历 7. 二叉树的分层遍历 。
  • OS Copilot功能测评:智能助手的炫彩魔法
  • MFC结构体数据文件读写实例
  • 音频 PCM 格式 - raw data
  • 关于deepin上运行Qt开发的程序
  • css 如何将字体进行压扁,即水平缩放scaleX
  • C++AVL树(二)详解
  • RocketMQ 的 Topic 和消息队列MessageQueue信息,是怎么分布到Broker的?怎么负载均衡到Broker的?
  • 无人机核心项目开发系列:从设计到实现的完整解析
  • 浅谈Redis
  • Ceisum无人机巡检直播视频投射
  • 【组件库】使用Vue2+AntV X6+ElementUI 实现拖拽配置自定义vue节点
  • Vue.js组件开发-如何实现全选反选
  • 2025.1.20——四、[强网杯 2019]Upload1 文件上传|反序列化
  • php代码审计2 piwigo CMS in_array()函数漏洞
  • docker搭建redis集群(三主三从)
  • [Datawheel]利用Zigent框架编写智能体-1
  • 【计算机视觉】人脸识别
  • linux环境变量配置文件区别 /etc/profile和~/.bash_profile
  • mac 配置 python 环境变量
  • 终极的复杂,是简单