力扣刷题day6 ---数组&&双指针

leetcode hot100 中等难度 day04-刷题 阅读详情

283. 移动零

给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

请注意 ,必须在不复制数组的情况下原地对数组进行操作。

示例 1:

输入: nums = [0,1,0,3,12]
输出: [1,3,12,0,0]

示例 2:

输入: nums = [0]
输出: [0]

提示:

  • 1 <= nums.length <= 104
  • -231 <= nums[i] <= 231 - 1

思路:

        一眼双指针,开始的时候没有理解好,以为是要保持顺序排列,结果就先排序在进行操作,结果出错了,提交之后就发现没有理解好题目。之后用双指针,一个指向 0 ,一个指向非0,不一样就换,思想就是找0,不原地换,后边看题解还可以找非零,相同的位置可以进行交换,这是我不了解的。正好就整理一下,本来不想整理的。(ps:没发不代表没做,只是觉得简单没有整理)

代码如下:

class Solution {
public:
    // void moveZeroes(vector<int>& nums) {
           //1.自己写的
    //     int j=0;
    //     while(j<nums.size()){ //找到第一个非零
    //         if(nums[j]==0) break;
    //         j++;
    //     }
    //     int i = j+1;
           //如果没有0元素,就直接到这里就结束了
    //     while(i<nums.size()){
    //         if(nums[j]==0&&nums[i]!=0){
    //             swap(nums[j],nums[i]);   
    //             j++;
    //         }
    //         i++;
    //     }
    // }
        
    void moveZeroes(vector<int>& nums) {
        //2.题解 找非零,相同位置交换
        int n = nums.size(), left = 0, right = 0;
        while (right < n) {
            if (nums[right]) {
                swap(nums[left], nums[right]);
                left++;
            }
            right++;
        }
    }

};

S/4HANA Private Cloud 与 On-Premise 的 Key User Custom Fields 运输与升级避坑指南 本文探讨了SAP S/4HANA Cloud Private Edition和On-Premise系统中Key User Custom Fields的管理要点。文章指出,Custom Fields涉及元数据生成、对象一致性、传输治理等完整链路,操作不当会导致字段丢失或升级失败。关键建议包括:使用ATO Fiori App管理扩展项与传输绑定,配置正确的job user权限,避免在多系统并行开发同一字段。特别强调升级时需执行CFD_REGENERATE_IN_ONPREMISE报表,并通过标准传输机制推进变更 阅读详情

相关推荐

深入理解HanLP1.x,填平可能遇到的坑

提取指定数量的摘要。自定义词典为什么要单独领出来讲呢?因为在我们的业务开发中,可能分词的效果并不理想,需要定制自己的词库,索引更加常用。例如:小米su7特斯拉modelY比亚042025款6575767670908我们需要分出小米su72025款等词。我们分别看看用字典和不用字典的效果。

static_coder的博客 977

力扣每日一练之数组下篇Day3

力扣每日一练之数组下篇Day3 🍕前面的话🥞 大家好!本篇文章将介绍2周搞定数据结构的题,来自力扣的35,两个数组的交集和121.买卖股票的最佳时机,本文将以这两道题作为背景,介绍经典的数组排序以及线性查找,展示语言为java(博主学习语言为java)。今天呢,是博主开始刷力扣的第三天,如果有想要开始准备自己的算法面试的同学,可以跟着我的脚步一起,共同进步。大家都是并肩作战的伙伴,一起努力奋力前行,路漫漫其修远兮,吾将上下而求索,相信我们一定都可以拿到自己期望的offer,冲冲冲! 👩‍💻博客主页:京与旧

qq_46272491的博客 1495

最新CobaltStrike4.8/CobaltStrike4.9、CS4.9/CS4.8、 Windows/Linux/Mac版下载

Cobalt Strike是一款基于java的渗透测试神器,常被业界人称为CS神器。自3.0以后已经不在使用Metasploit框架而作为一个独立的平台使用,分为客户端与服务端,服务端是一个,客户端可以有多个,非常适合团队协同作战,多个攻击者可以同时连接到一个团队服务器上,共享攻击资源与目标信息和sessions,可模拟APT做模拟对抗,进行内网渗透。 Cobalt Strike集成了端口转发、服务扫描,自动化溢出,多模式端口监听,win exe木马生成,win dll木马生成,java木马生成,

weixin_43167326的博客 7969

力扣面试经典150题刷题Day 2 数组和字符串(2)

今天做的主要是元素删除的题目。T26,27,80都是一类题目。针对删除元素的题目一般的方法都是,由于删除元素后整个数组的位置都要发生变化,因此设置两个指针。一个指针用于遍历整个数组,另一个指针用于指向下一个有效元素插入的位置。(因为删除元素后会导致被删除元素的位置为空,需要将后面的有效元素移到前面来)另一种方法是通用法,T26,T27,T80都可以用到,这是一个博主放个图:对于保留k个元素的题目,临界情况就是有k个相同的元素,这时这k个元素是都可以进行保留的;

jijlkl的博客 1731

告别视频广告:OpenWrt下luci-app-adbyby plus/lite的完整配置与避坑手册

本文详细介绍了在OpenWrt路由器上配置Adbyby Plus/Lite广告屏蔽工具的完整流程与优化方案。从环境准备、规则文件手动配置到高级性能调优,帮助用户有效拦截视频前贴片广告和弹窗广告,提升家庭网络浏览体验。特别针对官方源停止维护的问题,提供了实用的规则更新解决方案。

weixin_29306011的博客 737

Leetcode刷题 Day1 数组:二分法,双指针

需要注意的点:1.数组下标从0开始2.数组内存空间地址是连续的。

A21281005_的博客 1305

虚幻商城 Fab 免费资产自动化入库

Fab 商城的所有的免费资产自动化入库

一碗清深的博客 3634

力扣刷题之数组篇

二分法、双指针

qq_51423963的博客 1169

万字长文带你由浅入深夯实ARM汇编基础——汇编指令及寻址方式最全梳理(附示例)!

见到汇编就害怕?读完这篇,扫除汇编拦路虎!!(示例丰富,可做手册,随手查阅!)

车载系统攻城狮 1万+

动力学约束下的运动规划算法——状态栅格规划器(State Lattice Planner)

A*、RRT等算法建立的用于路径搜索的图模型是不考虑机器人的动力学约束的,其构建的图模型的两个相邻节点之间的路径可能是不可行的,或者很难被机器人跟踪的,现在我们想要使得图中相邻两个节点间的连接是一种满足动力学约束的可行的连接,那么如何构建一个这样的图呢? 构建这样的图通常有两种方法:第一种是基于控制空间的采样(正向方法)

慕羽★的博客 3104

力扣刷题——数组 day2

今天的题目做下来仍然有些地方不是很不会,即使做过不止一遍,再次看见时也是非常的生疏,往往只能想到最傻最笨的方法,并且也未能做出来,思维仍然需要多加锻炼,刷题仍然要继续。

weixin_57973719的博客 687

LDO的原理及测试方法

这是LM317芯片的核心,这个电路单元称为Bandgap Reference带隙基准源。属于模拟集成电路中的经典电路结构。常见的基本结构利用VBE的负温度系数,而VT是正温度系数,正负温度系数抵消就的得到稳定的基准参考电压了(三极管的方程VBE=VT*In(lC/IS))。

shiwei0813的博客 1157

力扣每日一练之双指针1Day8

力扣每日一练之双指针1Day8 🍕前面的话🥞 大家好!本篇文章将介绍20天算法刷题计划的题,本文将以两道题作为背景,介绍经典的双指针,展示语言为java(博主学习语言为java)。今天呢,是博主开始刷力扣的第五天,如果有想要开始准备自己的算法面试的同学,可以跟着我的脚步一起,共同进步。大家都是并肩作战的伙伴,一起努力奋力前行,路漫漫其修远兮,吾将上下而求索,相信我们一定都可以拿到自己期望的offer,冲冲冲! 👩‍💻博客主页:京与旧铺的博客主页 ✨欢迎关注🖱点赞🎀收藏⭐留言✒ 🔮本文由京与旧铺原创,csd

qq_46272491的博客 838

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Leetcode hot 100刷题之路(day 1)

想要找到最长子序列,其实就是对每一个数x,查询数组中是否存在 x+1,如果有,再次查询是否有x+2.可以用哈希优化搜寻过程为O(1),但是,外层需要遍历n个数,内层也需要匹配O(n)次,但其中有可以优化的过程,如果x匹配过了 那么x+1就不需要再次判断,因为肯定比x匹配过的短。当右指针指向非零,需要移动,不然会进入零区域,当指向零,不需要操作,只需要指向下一块区域。第一种解法,维护双指针,分别在0,size()-1,维护两个变量,分别是左最高,右最高。这道题用了数组的做法,判断两者的字母数组是否相同。

m0_73710531的博客 1682

VB摄像头监控

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

力扣刷题DAY4(哈希表+双指针/简单)

力扣刷题DAY4(哈希表+双指针/简单)

m0_74803856的博客 848

IEM模型,地表粗糙度模拟

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

LeetCode每周刷题总结(滑窗+双指针)

这周开始写双指针的题了,感觉有些时候还是不太好想,希望下周可以做的更熟练吧!

2303_78315474的博客 970

leetcode 刷题记录,数组部分,代码随想录刷题顺序

看了好多攻略,打算第一遍刷题顺序跟着 代码随想录 :数组、链表、哈希表、字符串、双指针法、栈与队列、二叉树、回溯算法 、贪心算法、动态规划、单调栈 题外话:小白一枚,打算刷题提高编程能力,由于现在在公司算法部门实习,所以使用python语言,打算明年秋招之前用java或者c++再刷一遍。下面纯记录个人刷题日记及代码。 代码随想录:代码随想录 (programmercarl.com) DAY 1 704.二分查找 704. 二分查找 - 力扣(LeetCode) cla...

yyy199869的博客 3111

Leetcode 刷题练习算法day6

对于哈希表,要知道和在哈希表中的作用。哈希函数是把传入的key映射到符号表的索引上。哈希碰撞处理有多个key映射到相同索引上时的情景,处理碰撞的普遍方式是拉链法和线性探测法。在C++中有三种不同哈希数据结构,分别是数组,set,map,每一种数据结构都有不同的特点,应用于不同的环境,我们清楚这些数据结构的特性就是让我们知道什么情况该用什么数据结构,

prime_nums的博客 2167

力扣每日一练之双指针2Day9

力扣每日一练之双指针2Day9 🍕前面的话🥞 大家好!本篇文章将介绍20天算法刷题计划的题,本文将以两道题作为背景,介绍经典的双指针,展示语言为java(博主学习语言为java)。今天呢,是博主开始刷力扣的第九天,如果有想要开始准备自己的算法面试的同学,可以跟着我的脚步一起,共同进步。大家都是并肩作战的伙伴,一起努力奋力前行,路漫漫其修远兮,吾将上下而求索,相信我们一定都可以拿到自己期望的offer,冲冲冲! 👩‍💻博客主页:京与旧铺的博客主页 ✨欢迎关注🖱点赞🎀收藏⭐留言✒ 🔮本文由京与旧铺原创,csd

qq_46272491的博客 763

【力扣刷题】Day02——数组基础

力扣数组基础----day02

涛涛的个人博客 1424

【每日刷题】Day178

1. 只出现一次的数字Ⅲ 2. 两数字和Ⅱ 3. 判断子序列

2301_78022459的博客 921

LeetCode刷题day02-数组

只需要掌握相关的编程语言的这些知识即可开始刷题。

CathieLi的博客 347

力扣python刷题day02|LeetCode997、209、59

输入:target = 11, nums = [1,1,1,1,1,1,1,1]输入:target = 7, nums = [2,3,1,2,4,3]输出:[[1,2,3],[8,9,4],[7,6,5]]解释:平方后,数组变为 [16,1,0,9,100]输入:nums = [-4,-1,0,3,10]输入:nums = [-7,-3,2,3,11]排序后,数组变为 [0,1,9,16,100]输出:[0,1,9,16,100]输出:[4,9,9,49,121]来源:力扣(LeetCode)

diemeng9339的博客 228

力扣刷题日记 day3

中等给你一个整数数组nums,判断是否存在三元组满足i!= ji!= k且j!= k,同时还满足。请你返回所有和为0且不重复的三元组。答案中不可以包含重复的三元组。不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。[]唯一可能的三元组和不为 0。[[0,0,0]]唯一可能的三元组和为 0。思路:如果用暴力遍历去做,需要 O(N^3) 的时间复杂度。可以先将数组排序,并遍历第一个数,在第一个数后的部分数组中,寻找另外两个数,

weixin_51213986的博客 1396

【每日刷题】Day120

1. 等差数列划分 2. 最长湍流子数组 3. 三数之和

2301_78022459的博客 1089
上一篇: 力扣刷题day5 ---数组&&异或操作
下一篇: gitlab +SonarQube +git hooks 代码审查一站式配置
Qian_Chi
博客等级 码龄5年 64粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值