简介

简单的模拟二进制的加减法

code

class Solution1404 {
public:
int numSteps(string s) {
int n = s.size();
int count = 0;
while(!(s.size() == 1 && s[0]=='1')){
if(s[s.size()-1] == '1'){
// 模拟加法
for(int i = s.size() - 1; i>=0; i--){
if(s[i] == '1'){
s[i] = '0';
if(i == 0){
s.insert(0, 1, '1');
}
}else{
s[i] = '1';
break;
}
}
}else{
// 模拟除法
s.pop_back();
}
count++;
}
return count;
}
};

随机推荐

  1. 通过 Python 在PDF中添加、或删除超链接

    PDF文件现已成为文档存储和分发的首选格式.然而,PDF文件的静态特性有时会限制其交互性.超链接是提高PDF文件互动性和用户体验的关键元素.Python作为一种强大的编程语言,拥有多种库和工具来处理P ...

  2. 《基于改进Wallace树的Posit乘法单元优化》(一)

    原文 文章通过增加特定的计数器.重新设计部分积求和阶段计数器布局 以及改进最终求和阶段使用的加法器,提出一种名为3L-Wallace树的改进Wallace树算法,有效减少了部分积求和的阶段数, 从而降 ...

  3. Spring Boot 不能加载 tcnative-2.dll 库(Can't load library: tcnative-2.dll)

    Spring Boot 不能加载 tcnative-2.dll 库 本文将介绍怎样解决 Spring Boot 在启动时抛出 "org.apache.tomcat.jni.LibraryNo ...

  4. js--弹出对话框、改变控件内容、验证输入邮箱的合法性

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  5. Android去掉默认的标题栏

    去掉默认的标题栏:在onCreate方法里添加supportRequestWindowFeature(Window.FEATURE_NO_TITLE); @Override protected voi ...

  6. maven setting.xml文件配置

    官网文档:http://maven.apache.org/ref/3.2.5/maven-settings/settings.html 下面是我个人的配置 <?xml version=" ...

  7. 代码随想录第十天 | Leecode 232. 用栈实现队列、Leecode 225. 用队列实现栈、 Leecode 20. 有效的括号、Leecode 1047. 删除字符串中的所有相邻重复项

    Leecode 232. 用栈实现队列 题目链接:https://leetcode.cn/problems/implement-queue-using-stacks/submissions/ 题目描述 ...

  8. 【BUG】PHP Warning: ‘C:\\WINDOWS\\SYSTEM32\\VCRUNTIME140.dll‘ 14.0 is not compatible with this PHP bu

      当使用PHP8.0时,你可能会遇到这个报错: PHP Warning: 'C:\\WINDOWS\\SYSTEM32\\VCRUNTIME140.dll' 14.0 is not compatib ...

  9. Axure在线教育考试原型图在线网课教育交互模板rp源文件

    Axure在线教育考试原型图在线网课教育交互模板rp源文件 Axure在线教育原型图在线网课教育交互模板rp源文件是一款原创的儿童教育类的APP模板,使用axure rp软件制作.app中包含大约40 ...

  10. 实现C++智能指针

    在对象切片一文中,提到可使用充当智能指针的类shape_wrapper,可以简化资源的管理,从根本上消除资源(包括内存)泄漏的可能性,本节来看下如何将shape_wrapper改造成一个完整的智能指针 ...