当前位置:网站首页>2311. 小于等于 K 的最长二进制子序列
2311. 小于等于 K 的最长二进制子序列
2022-07-05 08:57:00 【紫菜(Nori)】
思路:
1.从右到左,寻找大于最大值的下标点
2.如果有剩余字符,只记录,为0的字符个数
class Solution {
public:
int longestSubsequence(string s, int k) {
int ans = 0;
// 记录当前总消息
long sum = 0;
// 倒序遍历元素,方便直接从右开始计算数字和
int len = s.size() - 1;
int i = len;
for(; i >= 0; i--){
// 当前位数的2的幂次
int bit = len - i;
if(s[i] == '0'){
// 如果当前的幂次所表示的数字,超过k,则可以直接返回,防止后面出现数字溢出问题
if(k < (sum + pow(2, bit))){
break;
}
// 否则继续
continue;
}
// 如果当前字符为1,则表示可以累加记数
// 当已经累加的数字 > k是跳出循环,当前的i保留在这个位置
if(k < (sum += pow(2, bit))){
break;
}
}
// 这个字符串表示的数字完全符合
if(i == -1){
return s.size();
}
// 从右到左,已经符合的长度,
ans = len - i;
// 由于表示的数字已经到达极限,这里只记录为零的字符即可
for(; i >= 0; i--){
if(s[i] == '1'){
continue;
}
ans++;
}
return ans;
}
};
边栏推荐
- Halcon: check of blob analysis_ Blister capsule detection
- Typescript hands-on tutorial, easy to understand
- Introduction Guide to stereo vision (4): DLT direct linear transformation of camera calibration [recommended collection]
- [牛客网刷题 Day4] JZ32 从上往下打印二叉树
- Characteristic Engineering
- C#【必备技能篇】ConfigurationManager 类的使用(文件App.config的使用)
- Use arm neon operation to improve memory copy speed
- OpenFeign
- 3D reconstruction open source code summary [keep updated]
- Add discount recharge and discount shadow ticket plug-ins to the resource realization applet
猜你喜欢
优先级队列(堆)
Introduction Guide to stereo vision (1): coordinate system and camera parameters
[matlab] matlab reads and writes Excel
Ros-11 common visualization tools
ROS learning 4 custom message
Programming implementation of ROS learning 6 -service node
Rebuild my 3D world [open source] [serialization-1]
Programming implementation of subscriber node of ROS learning 3 subscriber
Count of C # LINQ source code analysis
[beauty of algebra] singular value decomposition (SVD) and its application to linear least squares solution ax=b
随机推荐
[牛客网刷题 Day4] JZ32 从上往下打印二叉树
C#绘制带控制点的Bezier曲线,用于点阵图像及矢量图形
C#【必备技能篇】ConfigurationManager 类的使用(文件App.config的使用)
多元线性回归(sklearn法)
Use and programming method of ros-8 parameters
Count of C # LINQ source code analysis
优先级队列(堆)
golang 基础 ——map、数组、切片 存放不同类型的数据
Latex improve
Pytorch entry record
The combination of deep learning model and wet experiment is expected to be used for metabolic flux analysis
Attention is all you need
Install the CPU version of tensorflow+cuda+cudnn (ultra detailed)
特征工程
Meta tag details
编辑器-vi、vim的使用
Wechat H5 official account to get openid climbing account
TF coordinate transformation of common components of ros-9 ROS
迁移学习和域自适应
Basic number theory -- Euler function