letcode -- 整数替换

过程挖掘(Process Mining)1——始于颜值 下周开始每周1-2篇的过程挖掘分享 过程挖掘是什么? 过程挖掘与过程管理的关系? 过程挖掘与数据挖掘的关系? 管理学还是计算机科学? 阅读详情

给定一个正整数 n,你可以做如下操作:

1. 如果 n 是偶数,则用 n / 2替换 n。
2. 如果 n 是奇数,则可以用 n + 1或n - 1替换 n。
n 变为 1 所需的最小替换次数是多少?

示例 1:

输入:
8
输出:
3
解释:
8 -> 4 -> 2 -> 1

示例 2:

输入:
7
输出:
4
解释:
7 -> 8 -> 4 -> 2 -> 1
或
7 -> 6 -> 3 -> 2 -> 1

一开始想着动态规划,做了一会没做出来,后来索性用递归了,居然ac了,看来这道题给的时间还蛮多的。

需要注意的是,n可能等于INT_MAX,所以写一个新的函数,用long类型的变量,这样就可以处理n等于INT_MAX时的特殊情况了,因为此时即使n+1,也不会溢出,代码如下:

class Solution {
public:
    int integerReplacement(int n) {
        return get_res(n);
    }
    int get_res(long n)
    {
        if(n == 1)
            return 0;
        else if(n%2 == 0)
            return get_res(n/2)+1;
        else
            return min(get_res(n+1),get_res(n-1))+1;
    }
};

Pulpino SoC中挂载AXI从机接口的自定义IP说明 AXI 从机接口挂载 Pulpino SoC 调试Pulpino SoC中挂载AXI从机接口的自定义IP说明PULPion SoC介绍自定义AXI IP挂载IP挂载框图代码修改脚本修改自定义AXI IP调试C语言编写软件调试硬件调试 Pulpino SoC中挂载AXI从机接口的自定义IP说明 本篇文章主要从工程的角度描述了如何将具有AXI从机接口的自定义IP挂载到Pulpino SoC上,其中不涉及到SoC中的任何原理知识。 PULPion SoC介绍 PULPion SoC整体架构如下图所示, PULPi 阅读详情

相关推荐

J204B接口数据链路的建立

介绍J204B数据链路层的建立方式

QUACK_G的博客 6548

整数替换

题目: 给定一个正整数n,你可以做如下操作: 1. 如果n是偶数,则用n / 2替换n。 2. 如果n是奇数,则可以用n + 1或n - 1替换n。 n变为 1 所需的最小替换次数是多少? 示例 1: 输入:8 输出:3 解释:8 -> 4 -> 2 -> 1 示例 2: 输入:7 输出:4 解释:7 -> 8 -> 4 -> 2 ...

goforitaaa的博客 339

【Unity实战】HybridCLR热更快速集成

本文假设你已经通过UPM导入了HybridCLR、Addressables、il2cpp支持并具有一定的C#基础和Unity编辑器操作能力。

u012587406的博客 4995

Python:视频截取

本博文介绍的是使用Python和opencv实现对视频的截取(提取视频中的部分画面)。 1、读取视频 Python可以通过opencv的VideoCapture()函数实现对视频,该函数的参数为0则是读取摄像头,为地址则是读取该地址的视频,具体使用方法如下所示:videoCapture = cv2.VideoCapture("E://code//test.mp4")。一般在读取视频之后,会加上

xiaochenchen1的博客 6704

VS2019集成AddressSanitizer:C++内存错误检测实战指南

在C++开发中,内存管理是核心挑战之一,涉及堆、栈和全局变量的分配与释放。其原理在于程序运行时对内存地址的访问必须严格遵循分配边界和生命周期规则,否则会导致缓冲区溢出、释放后使用等严重错误。这类问题的技术价值在于直接影响程序的稳定性、安全性和性能,是高质量软件必须攻克的基础难题。应用场景广泛,从嵌入式系统到大型服务器软件,都需要可靠的内存错误检测机制。AddressSanitizer(ASan)作为一种编译时插桩技术,通过影子内存和运行时检查,能精准定位堆缓冲区溢出、释放后使用等隐蔽错误。本文以Visual

weixin_34356310的博客 279

Matlab实战:用DQN算法让机器人学会自主避障(附完整代码)

本文详细介绍了如何使用Matlab实现DQN(深度Q网络)算法,使机器人在复杂环境中学会自主避障。通过环境建模、网络架构设计、奖励函数优化及实战调试,提供了完整的代码实现和训练策略,帮助开发者快速应用于机器人路径规划项目。

t8u9v0w1x的博客 232

编写程序,输入一个N,返回角谷变换(达到1所需)的次数

import java.util.Scanner; /** * @author:(LiberHome) * @date:Created in 2019/3/6 17:36 * @description: * @version:$ */ /*任意给一个大于0的整数N,若N为偶数,将其除以二,若N为奇数将其乘以3再加一; * 编写程序,输入一个N,返回角谷变换(达到1...

weixin_33920401的博客 499

VTK API 详解(134):vtkOBJWriter - 写入 OBJ 模型

是 VTK 中用于将数据写入 Wavefront OBJ 文件格式的类。OBJ 格式是广泛支持的 3D 网格模型格式,支持顶点、面和基本几何信息的保存,便于模型在多种三维软件间交换。

yumeiguo的博客 140

角谷步数 你听说过角谷猜想吗? 任意的正整数,比如 5, 我们从它开始,如下规则计算: 如果是偶数,则除以2,如果是奇数,则乘以3再加1. 如此循环,最终必会得到“1” !

/* 角谷步数 * 你听说过角谷猜想吗? 任意的正整数,比如 5, 我们从它开始,如下规则计算: 如果是偶数,则除以2,如果是奇数,则乘以3再加1. 如此循环,最终必会得到“1” ! 比如 5 的处理过程是: 5 16 8 4 2 1 一个正整数经过多少步才能变成1, 称为角谷步数。 对于5而言,步数也是5 对于1,步数为0 本题的要求是,从标准输入给定一个整数n(1<n<300)表示角谷

韩世雷 程序员专栏 1万+

Autosar CAN 网络管理标准文档

Autosar CAN 网络管理标准文档

蚂蚁小兵 925

【Unity】【2D】用连续图片生成动画Animation的简明步骤

本文介绍了Unity中使用2D连续图片制作2D动画Animation的简明步骤。

O青草O的博客 Unity和游戏制作知识分享 718

LeetCode 397 整数替换[递归] HERODING的LeetCode之路

解题思路: 这题就是最基础的递归运算题目,两个选择,一个是偶数,一个是奇数,偶数直接除2操作,奇数变成左右两个偶数继续操作(选择操作最小的),注意有一个用例是2147483647,解决方法有两种,第一就是首先把2的二次幂都干掉,代码如下: class Solution { public: int integerReplacement(long long n) { // 如果是2的二次幂 if(n & (n-1) == 0){ int r.

HERODING23的博客 702

如何通过单步调试的方法,找到 SAP Gateway 到底把 Fiori 应用发送的 OData 请求,投递到哪一台 ABAP 后台服务器了?

这是一个 Count 请求,得到服务器响应的数据是 204,这个 204 会以数字的形式,显示在 Fiori Launchpad tile 上。那如果当前 Gateway 系统可以连接到多台 ABAP 后台服务器,比如下图所示,可以连接 SAP S/4HANA,ERP 或者 SAP CRM,我怎么知道 SAP UI5 应用上显示的数据,到底来自哪一台 ABAP 后台服务器呢?,就是上图 ABAP 调试器里断点停留的位置,即 SAP Frontend 服务器,通过 RFC 将 OData 请求投递给。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 642

letcode 专题

136. 只出现一次的数字 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 异或和来判断。 class Solution { public: int singleNumber(vector<int>& nums) { int ans=0; for(auto x:nums){ ans^=x; } return ans; ...

bjfu170203101的博客 607

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

letcode每日一题-单调递增的数字

题目描述如下: 根据题目的要求我们是要找出小于或等于N的最大的整数,同时这个整数需要满足其各个位数上的数字是单调 递增。 方法一:当做数字处理+双向队列 应为我们没办法直接获得对应整数N的最高位,而能直接获得个位数(N%10),所以我们从个位开始处理,应 为从最高位起是单调递增的,则从最最低位起应该是单调递减的,这样我们依次判断就好,如果符合递减就放入 双向队列中,如果不符合则应该清空原数组,放入当前数值-1,应为如果当前数字不满足单调递减,则最大的就 是当前数字-1,后...

WX5991的博客 286

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

letcode:tarp-rain-water

  给定 n 个非负整数表示每个柱的宽度为1的高程图,计算下雨后能够捕获的水量。   例如,给定 [0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1],return 6 。   解题思路: 为了保证计算的结果有效,首先找出数组中最大值, 从最大值的两侧出发,分两部分计算...

chenglan9265的博客 109

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

没事刷刷LetCode——733.图像渲染

符合条件的像素点与他们对应 四个方向上 像素值与初始坐标相同的相连像素点,……将所有有记录的像素点的颜色值改为 newColor。你应该从像素 image[sr][sc] 开始对图像进行 上色填充。有一幅以 m x n 的二维整数数组表示的图画 image ,其中 image[i][j] 表示该图画的像素值大小。首先我们需要掌握一个方法,使用两个常数数组表达x与y的变化,代表上下左右四个坐标。像素值与初始坐标相同的相连像素点,接着再记录这。,从初始像素开始,记录初始坐标的。

REstrat的博客 132

letcode动态规划题

1. 除数博弈 爱丽丝和鲍勃一起玩游戏,他们轮流行动。爱丽丝先手开局。 最初,黑板上有一个数字 N 。在每个玩家的回合,玩家需要执行以下操作: 1) 选出任一 x,满足 0 < x < N 且 N % x == 0 。 2) 用 N - x 替换黑板上的数字 N 。 如果玩家无法执行这些操作,就会输掉游戏。 只有在爱丽丝在游戏中取得胜利时才返回 True,...

Jasminexjf的博客 479

LetCode之热题100.1——哈希(两数之和)

本着提升技能,并为蓝桥杯做准备的想法,题解语言采用java,编码环境使用eclipse。更加建议大家读懂算法思想,而不是单纯的copy代码。

lyhizjj的博客 294

letcode第85场双周赛&第307场周赛(Easy+Medium)

letcode第85场前三题:滑动窗口,动态规划,暴力模拟,差分数组,线段树 letcode第307场前三题:贪心,模拟,dfs,bfs,图

jdjhsj的博客 736

【Leetcode】984. String Without AAA or BBB(配数学证明)

题目地址: https://leetcode.com/problems/string-without-aaa-or-bbb/ 给定两个数xxx和yyy,都是非负整数,要求返回任意一个字符串,其含xxx个a与y与y与y个b,并且其不含aaa或者bbb作为其子串。题目保证有解。 思路是,开一个数组sss,先将次数多的那个字母填满sss,不妨设x≥yx\ge yx≥y,那就用a将sss填满,然后考虑将其中的a替换为b。我们考虑从s[2]s[2]s[2]开始,每隔333这个长度就填b,这样能尽量达到不存在aaa的效

数学、算法爱好者的博客 278

LeetCode670—最大交换(java版)

题目描述: 标签:贪心 数学 给定一个非负整数,你至多可以交换一次数字中的任意两位。返回你能得到的最大值。 代码: 思路分析: 从高位开始,寻找能否在低位找到替换位,替换的数字尽可能大,当有同大时选择更低的。 class Solution { public int maximumSwap(int num) { char[] array = String.valueOf(num).toCharArray(); for(int i = 0;i &..

qq_40840749的博客 709

LeetCode【0202】快乐数

题目难度:简单;数据类型:整数;应用算法:快慢指针算法(Floyd判圈算法)

AnFany 1021

Leetcode 645 错误的集合

数组;哈希表

weixin_45979582的博客 1107

代码随想录-Day33-贪心算法-LetCode1005. K 次取反后最大化的数组和||134. 加油站||135. 分发糖果

贪心策略,获得的油和消耗的油只差为整数,并且尽可能多的从获取这种差为正数的加油站开始,实现方式,定义两个和,一个记录总和,用于最终判断,另一个记录便利过程中的局部和,如果局部和小于0说明从开始节点到当前节点,无论从哪一个出发,最终都会没油,所以不需要进行类加了,直接跟新开始节点即可。将数组排序,先将所有的负数翻转,如果此时还存在k这时候根据贪心策略,再次将数组排序,将最小的进行翻转即可。采用两次的贪心步骤,先给每一个孩子一颗糖,在分两次判断积分高低,保证局部最优,进而得到全局最优。表示每个孩子的评分。

qq_63837759的博客 70

leetcode 幸运数字 202. Happy Number

Write an algorithm to determine if a number is "happy". A happy number is a number defined by the following process: Starting with any positive integer, replace the number by the sum of the squares o...

u010785091的博客 362
上一篇: myeclipse创建maven项目,pom.xml第一行报错
下一篇: Linux(虚拟机)安装hadoop
xiaochenchen1
博客等级 码龄11年 3粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值