letcode -- 整数替换

ESP8266 进行HDLC解码,AX.25,APRS /************************************************************** 函数名:aprs_wait_begin() 参 数:无 返回值:bool true=得到合法脉冲,false=未得到 说 明:等待第1个833us高脉冲,判断范围 730-930,其他忽略 ***************************************************************/ bool aprs_wait_begin(){ stati 阅读详情

给定一个正整数 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;
    }
};

AMBA-CHI协议详解(十) 该规范提供了一个Request Retry(请求重试)机制,确保当请求到达一个Completer 时,它要么被接受,要么被给予一个RetryAck响应,以防止阻塞REQ通道。 阅读详情

相关推荐

为什么你的单细胞数据总有问题?可能是忽略了scDblFinder这个神器

本文深入剖析了单细胞数据分析中异质性双细胞这一常见但易被忽视的痛点,并重点介绍了scDblFinder这一神器。scDblFinder通过机器学习模型,能精准识别并过滤同一样本内的异质性双细胞,有效解决其导致的聚类模糊、信号混淆等问题,从而显著提升数据洁净度与下游分析结果的可靠性。

brandy的博客 453

整数替换

题目: 给定一个正整数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

Ghidra逆向分析实战:从安装JDK到解析STM32的bin文件(附SVD插件配置)

本文详细介绍了使用Ghidra进行STM32固件逆向分析的完整流程,从JDK安装配置到SVD插件的应用。通过实战案例展示如何解析bin文件、恢复符号信息以及利用SVD插件识别外设寄存器,帮助开发者高效完成嵌入式设备的逆向工程任务。

weixin_29309475的博客 645

Python:视频截取

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

xiaochenchen1的博客 6704

避坑指南:PyCINRAD处理CINRAD雷达数据时遇到的5个典型报错及解决方案

本文针对使用PyCINRAD库处理CINRAD雷达基数据时常见的5个典型报错,提供了详细的解决方案。内容涵盖环境配置、数据读取、PPI可视化及性能优化等核心环节,重点解决了版本兼容性、数据异常处理和中文乱码等实际问题,帮助用户高效处理雷达基数据并生成准确的PPI图像。

cc789的博客 1068

OpenPnP/Arduino - 二手西门子电动飞达的通讯协议解析与实战

本文详细解析了二手西门子电动飞达的通讯协议,并通过Arduino控制板实现与开源贴片平台OpenPnP的集成。文章涵盖了硬件接口定义、协议帧结构分析、Arduino控制实战、OpenPnP集成技巧以及二手飞达翻新指南,为开发者提供了全面的技术指导和实战经验。

weixin_30411819的博客 201

编写程序,输入一个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

内存|内存的概念、内存的作用、内存的物理结构及内存使用

内存是硬件,是用于存放数据的硬件。程序执行前需要先放到内存中才能被CPU处理。内存是与CPU沟通的桥梁,计算机中所有程序的运行都要依靠内存,内存对计算机的影响非常大。本文简单介绍了内存的概念、作用、物理结构以及使用,内存远不止如此,后续文章会逐步深入讲解。

qq_59938293的博客 2万+

角谷步数 你听说过角谷猜想吗? 任意的正整数,比如 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万+

光模块基础知识【快速入门】02

光模块是用于交换机与设备之间传输的载体,是光纤通信系统中的核心器件。主要作用是发射端将设备的电信号转换成光信号。 光纤通道光模块和以太网光模块 光纤通道光模块 光纤通道(FC, Fiber Channel)是一种高速网络数据传输协议。光纤通道协议可以有序无损地传输原始数据,它主要用于在数据中心、电脑服务器、交换机与存储网络中进行数据传输。 FC光模块遵循FC协议,充当着光纤通道系统之间的接口,也是光纤存储网络设备间的接口。它们主要用于数据中心的光纤通道存储网络链接中。 FC光模块具有小型化和低.

Jin Hanquan的博客 3万+

UniApp实战:5分钟搞定后台持续定位与轨迹实时更新(附完整代码)

本文详细介绍了在UniApp中实现后台持续定位与动态轨迹地图系统的完整方案。针对物流配送、运动健身等场景,文章深入讲解了权限申请、坐标系选择、定位防抖优化、地图轨迹线(polyline)实时绘制等核心步骤,并提供了可复用的完整代码,帮助开发者高效解决App切后台定位停止、轨迹漂移等常见难题。

weixin_29266679的博客 483

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

FFDNet-pytorch版本代码训练教程

该文章为FFDNet-pytorch版本代码训练教程,抓紧订阅学习!尽早入门发论文哦!

假技术Po主 1507

letcode 专题

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

bjfu170203101的博客 607

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

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

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

WX5991的博客 286

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

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

letcode:tarp-rain-water

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

chenglan9265的博客 109

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

没事刷刷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、付费专栏及课程。

余额充值