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

2311. 小于等于 K 的最长二进制子序列— day98

前言:

作者:神的孩子在歌唱

一个算法小菜鸡

大家好,我叫智

image-20250628221138026

2311. 小于等于 K 的最长二进制子序列

给你一个二进制字符串 s 和一个正整数 k

请你返回 s最长 子序列的长度,且该子序列对应的 二进制 数字小于等于 k

注意:

  • 子序列可以有 前导 0
  • 空字符串视为 0
  • 子序列 是指从一个字符串中删除零个或者多个字符后,不改变顺序得到的剩余字符序列。

示例 1:

输入:s = "1001010", k = 5
输出:5
解释:s 中小于等于 5 的最长子序列是 "00010" ,对应的十进制数字是 2 。
注意 "00100" 和 "00101" 也是可行的最长子序列,十进制分别对应 4 和 5 。
最长子序列的长度为 5 ,所以返回 5 。

示例 2:

输入:s = "00101001", k = 1
输出:6
解释:"000001" 是 s 中小于等于 1 的最长子序列,对应的十进制数字是 1 。
最长子序列的长度为 6 ,所以返回 6 。

提示:

  • 1 <= s.length <= 1000
  • s[i] 要么是 '0' ,要么是 '1'
  • 1 <= k <= 109

思路: 计算k的二进制,然后从后往前循环对比,满足条件后在补充0

class Solution {public int longestSubsequence(String s, int k) {String binaryString = Integer.toBinaryString(k);int num = binaryString.length() -1;// 总的二进制长度小于肯定也会小于k,返回s的长度就可以if(s.length() < binaryString.length()) {return s.length();}for(int i = s.length(); i >= binaryString.length(); i--) {int count = 0;int pre = i - binaryString.length();String sub = s.substring(pre, i);int sum = Integer.parseInt(sub, 2);// 如果小于说明满足条件if(sum <= k ) {count = sub.length();// 循环补充0pre = pre -1;while(pre >= 0) {if(s.charAt(pre) == '0') {count++;} pre--;}num = count;break;} }return num;}
}

本人csdn博客:https://blog.csdn.net/weixin_46654114

转载说明:跟我说明,务必注明来源,附带本人博客连接。

http://www.dtcms.com/a/270739.html

相关文章:

  • 数字大脑的培育法则:深度解读监督学习神经网络
  • (C++)任务管理系统(正式版)(迭代器)(list列表基础教程)(STL基础知识)
  • 【Gin】HTTP 请求调试器
  • C/C++ 高频八股文面试题1000题(二)
  • Java中Map、List 和 Set 之间的常见转换方法总结
  • vcpkg交叉编译qt等过程记录(未完成)
  • HarmonyOS应用开发者高级试题2025年7月部分单选题(带答案)
  • 学习日记-spring-day44-7.9
  • C++随机打乱函数:简化源码与原理深度剖析
  • leetcode11.盛最多水的容器
  • Webpack、Vite配置技巧与CI/CD流程搭建全解析
  • 【RTSP从零实践】9、多播传输AAC格式的RTP包(附带源码)
  • mac m1安装大模型工具vllm
  • kotlin学习,val使用get()的问题
  • mysql 安装实战
  • Claude Code 开发使用技巧
  • User手机上如何抓取界面的布局uiautomatorviewer
  • Linux的`if test`和`if [ ]中括号`的取反语法比较 笔记250709
  • Unity Demo-3DFarm详解-其二
  • 以太坊智能合约核心技术解析与应用实践
  • LLaMA-Omni 深度解析:打开通往无缝人机语音交互的大门
  • HCIP 认证可以做什么?如何选择合适的职业路径?
  • C++11 future、promise实现原理
  • AI生成交互式数据图表
  • 【c++八股文】Day5:const和constexpr,define
  • sql查询davinci看板数据
  • 【一起来学AI大模型】PyTorch DataLoader 实战指南
  • 极简相册管理ios app Tech Support
  • ARM汇编编程(AArch64架构)课程 - 第7章:SIMD与浮点运算
  • 2025杰理蓝牙芯片:各系列芯片特点及市场分析