LeetCode算法题-Plus One(Java实现)

GAN网络(论文阅读):Generative Adversarial Nets 当判别器效果比较好时,D(G(z))值为0,则log(1-D(G(z)))值为0,当判别器效果不好,会输出一个大于0 的数,则log(1-D(G(z)))值就为一个负数,在极端情况下,会得到负无穷大,此时判别失误。在价值函数的第二项中存在问题,在早期G比较弱的时,生成的数据和真实数据相差很大,D就容易训练的比较好,很容易区分,就会导致log(1-D(G(z)))变成0 ,这样很难求梯度来优化G,所以更新G时,将优化函数改为log(D(G(z)))。最终使G赢,即G生成的数据D判别不出来。 阅读详情

这是悦乐书的第156次更新,第158篇原创

01 看题和准备

今天介绍的是LeetCode算法题中Easy级别的第15题(顺位题号是66)。给定一个非空数字数组来表示一个非负整数,并给其加1。该数组已经排序,并且最高位有效数字位于数组的开头,并且数组中的每个元素都表示单个数字。假设该整数不以零开头,除了数字0本身。例如:

输入:[1,2,3]
输出:[1,2,4]
说明:数组表示整数123

输入:[4,3,2,1]
输出:[4,3,2,2]
说明:数组表示整数4321

本次解题使用的开发工具是eclipse,jdk使用的版本是1.8,环境是win7 64位系统,使用Java语言编写和测试。

02 分析并解题

特殊情况:传入的数组为空数组,没有任何元素,直接返回新数组[1]。

正常情况:

第一种情况,当数组最后一个元素不是9的时候,直接将数组的最后一个元素上加1,返回此数组即可。

第二种情况,当数组最后一个元素是9的时候,这事需要考虑是所有元素都为9,还是部分数组元素为9,因为全部元素都是9的时候就涉及到数组扩容了。

对此使用while循环,从后往前,先判断元素本身的值加上1后是否等于10,如果等于10,则将该元素重新赋值为0,索引向前移动一位,继续循环。

如果数组的全部元素都是9,那么索引每次向前循环自减的时候,最后会变成-1,即当索引等于-1时,此数组中所有元素都是9,此时就可以直接数组扩容了,一位整型数组元素的默认值是0,只需要将新数组的第一个元素赋值为1即可,此时的新数据就是最后的结果。

如果数组的部分元素为9,那么while循环会在元素连续为9的前一个索引位置停下,只需要将此索引位置的元素值加1返回原数组即可。

public int[] plusOne(int[] digits) {
    if (digits.length == 0) {
        return new int[]{1};
    }
    int lastInt = digits[digits.length-1]+1;
    if (lastInt == 10) {
        int n = digits.length-1;
        while ( n >= 0 && (digits[n]+1) == 10) {
            digits[n] = 0;
            n--;
        }
        if (n != -1) {
            digits[n] = digits[n] + 1;
            return digits;
        } else {
            int[] newInt = new int[digits.length+1];
            newInt[0] = 1;
            return newInt;
        }
    } else {
        digits[digits.length-1] = lastInt;
        return digits;
    }
}

03 小结

上面的解法提交的时候,综合用时0ms,打败了100%的人,是第一次获得这样的结果!容我开心下,哈哈!以上就是全部内容,如果大家有什么好的解法思路、建议或者其他问题,可以下方留言交流,点赞、留言、转发就是对我最大的回报和支持!

10、高阶ΣΔ调制器设计与优化 本文深入探讨了高阶ΣΔ调制器的设计与优化技术,重点介绍了NTF零点优化方法,通过分散单位圆上的零点分布提升信噪失真比(SQNR)。文章分析了量化噪声耦合技术如何有效提高噪声整形阶数,并对比了CIFB、CIFF、CRFB和CRFF等不同架构的性能特点。同时,详细阐述了基于稳定性与性能权衡的设计流程,结合Schreier的Delta-Sigma Toolbox实现NTF综合与仿真验证。内容涵盖从理论推导到实际设计步骤,为高阶ΣΔ调制器的稳定性提升与性能优化提供了系统性指导。 阅读详情

相关推荐

一次渗透测试引发的Json格式下CSRF攻击的探索

一次渗透测试引发的Json格式下CSRF攻击的探索

weixin_52501704的博客 1050

【LeetCode】算法题汇总_思路+代码注释

【代码】【LeetCode】算法题汇总。

yyj3900636的博客 1432

Unity URP半透明物体深度排序优化:解决自交叠渲染瑕疵

本文深入探讨了Unity URP管线中半透明物体深度排序的优化方法,重点解决自交叠区域的渲染瑕疵问题。通过双通道渲染、深度预写入、多通道渲染等核心技术,结合实战案例和性能数据,帮助开发者实现高质量的透明效果渲染。

weixin_30879169的博客 422

【Leetcode】精选算法top200道(一)

leetcode(一)

lynn_Dai的博客 2353

Selenium ChromeDriver反爬与性能优化实战指南

ChromeDriver作为Selenium的核心驱动,本质是浏览器自动化执行引擎,其默认行为会暴露大量JS运行时指纹(如navigator.webdriver、window.chrome),极易被前端反爬系统识别;同时因进程管理粗放、渲染等待机制僵化,导致内存泄漏、僵尸进程和高并发下稳定性崩塌。本文围绕真实生产场景,系统解析浏览器指纹伪造原理、进程级资源管控策略、基于页面状态的智能等待范式,并提供Docker容器化、K8s弹性扩缩与Prometheus可观测性落地路径,助力开发者将ChromeDriver

weixin_29762151的博客 1259

手把手教你用Sentinel-1和SNAP处理InSAR数据:从下载到生成沉降图(附Python脚本)

本文详细介绍了如何使用Sentinel-1数据和SNAP软件处理InSAR数据,从下载到生成地表沉降图的全流程。通过Python脚本实现自动化处理,适用于城市扩张和地质脆弱带的地表沉降监测,提供高性价比的毫米级形变监测方案。

weixin_26800111的博客 268

十连发!经典leetcode算法题解分享(哈希表)

淦就完事了~

yehongzhi1994的博客 1280

Stata:手动安装ivreghdfe包的完整指南与常见问题解决

本文提供了Stata中手动安装ivreghdfe包的完整指南,包括准备工作、详细安装步骤及常见问题解决方案。ivreghdfe作为处理高维固定效应模型的强大工具,依赖ftools、reghdfe和ivreg2三个核心组件,手动安装可避免版本冲突问题。文章还分享了进阶使用技巧,如并行计算加速和保存固定效应估计值,助力用户高效完成工具变量回归分析。

weixin_29251131的博客 933

【leetcode题解】贪心算法

在考虑最长递增子序列的“长度”的时候,不需要关心这个序列是什么样子,仅需关心“最后一个元素”是谁。解法一:动态规划 - 利用dp找到数组中最长递增子序列的长度,判断是否大于等于3即可。1. 前期学习的时候,把重点放在贪心的策略上,把这个策略当成经验吸收。本题的排序(优化):把数转化成字符串,然后拼接字符串,比较字典序。正常的排序本质(升序):确定元素的先后顺序,谁在前,谁在后。解法一:暴力解法->递归->记忆化搜索->动态规划(麻烦)净收益:diff = [-2,-2,-2,3,3]

2301_80802299的博客 1229

飞书接入OpenClaw:从零到一的保姆级图文教程

本文主要介绍了飞书接入OpenClaw:从零到一的保姆级图文教程,希望能对学习使用OpenClaw 的同学们有所帮助。 文章目录 1. 背景 2. 解决方案 2.1 步骤一:安装插件 2.2 步骤二:创建机器人应用 2.3 步骤三:测试 3. 注意事项

weixin_43178406的博客 13万+

YOLOv8 交通违规检测各个场景的实际应用

本文介绍了基于YOLOv8的交通违规检测系统在不同场景下的应用实现。系统可检测闯红灯、超速、违停和不系安全带等多种违规行为,针对每种场景提供了具体的技术方案和Python实现代码。其中闯红灯检测结合信号灯状态分析,超速检测通过距离时间计算速度,违停检测采用长时间跟踪策略,安全带检测则需更高精度识别。文章还展示了如何整合各功能构建综合交通监管系统,并总结了不同应用场景的技术要点和优化方向,为智能交通管理提供了实用解决方案。

u010117029的博客 301

Leetcode 算法题合集

Leetcode 算法

19年的墨先生的博客 3244

PyTorch深度学习实战(6)——神经网络性能优化技术

神经网络性能优化技术是指通过改进神经网络的结构、参数初始化、正则化和训练过程等方面来提高其性能和泛化能力的方法。优化技术的选择和调试需要根据具体问题进行,通过不断实验和调整,找到最适合网络的优化策略。本节首先训练了一个简单的全连接网络,然后在此基础上介绍了简单有效的神经网络性能提升技巧。

盼小辉丶的博客 1万+

LeetCode 66. Plus One

题目来源:https://leetcode.com/problems/plus-one/ 问题描述 66.Plus One Easy Given anon-emptyarray of digitsrepresenting a non-negative integer, plus one to the integer. The digits are stored such that...

da_kao_la的博客 179

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

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

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

【LeetCode】No.66. Plus One -- Java Version

【LeetCode】No.66. Plus One -- Java Version

汤姆lazy的优快云博客 518

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

66 Plus One

题目链接:https://leetcode.com/problems/plus-one/题目:Given a non-negative number represented as an array of digits, plus one to the number.The digits are stored such that the most significant digit is at the

再见了,过去的名字,新的奋斗开始啦! 862

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

66. Plus One(easy)

Easy 7141303FavoriteShare Given a non-empty array of digits representing a non-negative integer, plus one to the integer. The digits are stored such that the most significant digit is at the head o...

SourDumplings的博客 160

leetcode Plus One

leetcode Plus One 题目:用数组的每一位来存储的一个整数,加上一,再返回这个整数,这个整数的每一位都存储在一个数组内,答案是返回这个数组。例如:数组[9,0,9,9],则返回数组[9,1,0,0]。 分析: 题目思路比较简答,可以类比到两大整数如何相加的问题,每一位进行相加,存储好进位,就可以完成最后的结果。看代码。 vectorint> plusOne(vect

Zzzlw123的博客 559

leetcode解题之66 # Plus One Java版

leetcode解题之66 # Plus One Java版

mine_song的博客 940

[leetcode]66. Plus One(Java)

https://leetcode.com/problems/plus-one/#/description Given a non-negative integer represented as a non-empty array of digits, plus one to the integer. You may assume the integer do not c

zjkC050818的博客 600

LeetCode 66 — Plus One(C++ Java Python)

题目:http://oj.leetcode.com/problems/plus-one/ Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored such that the most significant d

龙之梦 4561

[LeetCode]66. Plus One

66. Plus One 一、题目 Problem Description: Given a non-empty array of decimal digits representing a non-negative integer, increment one to the integer. The digits are stored such that the most significant digit is at the head of the list, and each element in t

KKKKKKOBE_24的博客 264

LeetCode066 Plus One

详细见:leetcode.com/problems/plus-one Java Solution: github package leetcode; public class P066_PlusOne { public static void main(String[] args) { int[] ans = new Solution().plusOne(new int[]

zxwtry的博客 221

LeetCode Plus One Java版解题报告

LeetCode Plus One Java版解题报告 题意:一个整数按位存储于一个int数组中,排列顺序为:最高位在array[0] ,最低位在[n-1],例如:98,存储为:array[0]=9; array[1]=8; 解题思路,从数组的最后一位开始加1,需要考虑进位,如果到[0]位之后仍然有进位存在,需要新开一个长度为(n.length + 1)的数组,拷贝原来的数组。

算法的天空 9430

[LeetCode] Plus One

题目链接:https://leetcode.com/problems/plus-one/ Given a non-negative number represented as an array of digits, plus one to the number. The digits are stored such that the most significant digit is a...

weixin_30466039的博客 61

LeetCode 66. Plus One

原题链接在这里:https://leetcode.com/problems/plus-one/ 题目: Given a non-negative integer represented as anon-emptyarray of digits, plus one to the integer. You may assume the integer do not contain any l...

weixin_30408165的博客 87
上一篇: 【算法】LeetCode算法题-Length Of Last Word
下一篇: LeetCode算法题-Add Binary(Java实现)
程序员小川
博客等级 码龄10年 47粉丝 305原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值