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

力扣2311:小于等于K的最长二进制子序列

题目:2311. 小于等于 K 的最长二进制子序列 - 力扣(LeetCode)

贪心

从前往后递增的时候,0和1进行对比,肯定是选0,因为选0即使产生总值的增加效果也只是和1一样,但是0可能会存在前置0,可能不会产生影响。所以我们一定要选更多的0,将所有的0选出来之后,再从地位到高位增加1的个数。

public int longestSubsequence(String s, int k) {int ret=0;int n=s.length();int sm=0;int bits=(int)(Math.log(k)/Math.log(2))+1;//Math.log(k)相当于lnkfor(int i=0;i<n;i++) {char x=s.charAt(n-1-i);if(x=='0') {ret++;} else {if(i<bits&&(sm+(1<<i))<=k) {sm+=1<<i;ret++;}}}return ret;}

http://www.lqws.cn/news/528013.html

相关文章:

  • 【TIDB】了解,MySQL和TiDB的取舍,差异
  • postman设置接口关联,实现参数化
  • kotlin中::class.java的意义
  • Redis 为什么选用跳跃表,而不是红黑树
  • PHP基础2(流程控制,函数)
  • 【机器学习深度学习】交互式线性回归 demo
  • C语言再出发:2025年AI时代的关键语言
  • notepad++ 怎么快速给 python (nginx、shell) 文件加 # 注释
  • VUE3入门很简单(3)--- watch
  • MR30分布式 IO在物流堆垛机的应用
  • 解锁AI无限潜能!景联文科技数据产品矩阵再升级:多语言题库、海量语料、垂域代码库,全面赋能大模型训练
  • 力扣第45题-跳跃游戏2
  • 【智能记录系统Blinko】从0到1搭建个人云端笔记本:Blinko+Docker环境配置
  • JVM OutOfMemoryError原因及排查解决方案
  • java解决超大二维矩阵数组引起的内存占用过大问题
  • 深入解析synchronized实现原理
  • 【2-入门与调试设置】1.坐标辅助器与轨道控制器
  • 英特尔汽车业务败走中国,喊出“All in”才过两个月
  • 观测云产品更新 | 外部数据源、日志、监控、事件、基础设施等
  • TCP 协议安全性全面分析:漏洞、应用场景与防护策略
  • 芯谷科技--降压型DC-DC转换器D4005
  • [OS_27] 现代应用程序架构
  • ESP32 VSCODE进入menuconfig时ESP-IDF idf.py menuconfig卡进度条,setuptools版本太高解决方法
  • 小程序学习笔记:实现上拉触底加载随机颜色案例全解析
  • 深度剖析 Apache Pulsar:架构、优势与选型指南
  • 图像质量对比感悟
  • [论文阅读] 人工智能 + 软件工程 | AI 与敏捷开发的破局之路:从挫败到成功的工作坊纪实
  • 推荐一个前端基于vue3.x,vite7.x,后端基于springboot3.4.x的完全开源的前后端分离的中后台管理系统基础项目(纯净版)
  • HTML 按钮单击事件示例
  • 2-深度学习挖短线股-4-预测数据计算