当前位置: 首页 > news >正文

桂林建网站婚礼网站模板

桂林建网站,婚礼网站模板,廉江人做寄生虫网站,洱源网站建设一、双指针 1.1移动零 链接#xff1a;283. 移动零 - 力扣#xff08;LeetCode#xff09; 给定一个数组 nums#xff0c;编写一个函数将所有 0 移动到数组的末尾#xff0c;同时保持非零元素的相对顺序。请注意 #xff0c;必须在不复制数组的情况下原地对数组进行操…一、双指针 1.1移动零 链接283. 移动零 - 力扣LeetCode  给定一个数组 nums编写一个函数将所有 0 移动到数组的末尾同时保持非零元素的相对顺序。请注意 必须在不复制数组的情况下原地对数组进行操作。 示例 1: 输入: nums [0,1,0,3,12]输出: [1,3,12,0,0]  解法 通过两个指针并非是真的指针只是数组的下标dest和cur将长度为n的数组划分为三个部分 [0,dest]cur已经遍历过的地方处理过不为0的部分 [dest1,cur-1]cur已经遍历过的地方处理过为0的部分 [cur,n-1]cur未遍历的地方 第一种情况 cur指向数组元素为0 [0,dest]部分是处理过并且元素不为0的部分cur指向0所以处理后[0,dest]不变 [dest1,cur-1]部分是处理过为0的部分所以处理后[dest1,cur-1]长度加一 [cur,n-1]部分长度减一 第二种情况 cur指向数组元素不为0 [0,dest]部分是处理过并且元素不为0的部分cur指向1所以处理后[0,dest]长度加一dest往后移一位用来存放1 [dest1,cur-1]部分是处理过为0的部分所以处理后[dest1,cur-1]长度不变 [cur,n-1]部分长度减一 dest往后移一位dest指向为0的部分只需要将此时的dest指向和cur指向元素交换即可之后cur 初始状态dest-1cur0 1.nums[cur]为0cur 2.nums[cur] 不为0dest后在交换nums[dest]和nums[cur]; c解法  class Solution { public:void moveZeroes(vectorint nums) {for(int dest-1,cur0; curnums.size(); cur){if(nums[cur])swap(nums[cur], nums[dest]);}} }; c语言解法  void moveZeroes(int* nums, int numsSize) {for(int dest-1,cur0; curnumsSize; cur){if(nums[cur]){ int temp 0;temp nums[dest];nums[dest] nums[cur];nums[cur] temp;}} } 1.2复写零 链接1089. 复写零 - 力扣LeetCode 给你一个长度固定的整数数组 arr 请你将该数组中出现的每个零都复写一遍并将其余的元素向右平移。 注意请不要在超过该数组长度的位置写入元素。请对输入的数组 就地 进行上述修改不要从函数返回任何东西。 示例 1 输入arr [1,0,2,3,0,4,5,0] 输出[1,0,0,2,3,0,0,4] 解释调用函数后输入的数组将被修改为[1,0,0,2,3,0,0,4]解法 在不用额外的数组情况下从前往后复写会造成数据覆盖的影响因此需要从后往前复写 但从什么位置从后向前进行复写需要额外确定 1.找出从后往前开始复写的位置 2.从后往前复写 初始状态 1.cur指向的元素不为0dest往后移一位 2.cur指向的元素为0dest往后移两位  初始状态cur指向1dest cur再往后移一位指向元素为0 dest往后移两位 当dest移动到最后一位时停止移动记录此刻cur的位置  特殊情况  当cur指向元素0时dest往后移动两位此刻dest越界 手动将数组最后一位将其元素改为0 cur往前移动一位dest往前移两位 从此刻开始复写 1.arr[cur]不为0arr[dest] arr[cur] 2. arr[cur]为0arr[dest] arr[dest-1] 0 直到cur0 c实现  class Solution { public:void duplicateZeros(vectorint arr) {int cur 0, dest -1;int n arr.size();for(cur0,dest-1; destn-1; cur){if(arr[cur])dest;elsedest 2;}if(dest n){arr[n-1] 0;dest - 2;cur--;}cur--;for(; cur0; cur--){if(arr[cur]){arr[dest] arr[cur];dest--;}else{arr[dest] 0;arr[dest-1] 0;dest - 2;}}} }; 1.3 快乐数 链接202. 快乐数 - 力扣LeetCode 「快乐数」 定义为 对于一个正整数每一次将该数替换为它每个位置上的数字的平方和。然后重复这个过程直到这个数变为 1也可能是 无限循环 但始终变不到 1。如果这个过程 结果为 1那么这个数就是快乐数。 如果 n 是 快乐数 就返回 true 不是则返回 false 。 示例 1 输入n 19 输出true 解释 1^2 9^2 82 8^2 2^2 68 6^2 8^2 100 1^2 0^2 0^2 1 示例 2 输入n 2 输出false对应两种情况 1.重复操作最后结果会变成1 例如19经过4步操作后变为1 2.重复一定操作步骤后陷入无限循环中 例如2平方后变成4又经过几次操作后又出现了4所以会一直陷入循环中 上述两种情况都会进入 一个循环第一种进入的循环全为1第二种循环中不会出现1根据此判断是否为快乐数; 快慢指针可以解决是否是环形链式结构只需判断出slow指针和fast指针相遇时的值是否为1即可slowfast2 class Solution { public:int func(int n){int sum 0;while(n){int t n%10;sum t*t;n / 10;}return sum;}bool isHappy(int n) {int slow n,fast func(n);while(slow ! fast){slow func(slow);fast func(func(fast));}return slow 1;} }; 1.4 盛最多水的容器 链接11. 盛最多水的容器 - 力扣LeetCode 给定一个长度为 n 的整数数组 height 。有 n 条垂线第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。说明你不能倾斜容器。 输入[1,8,6,2,5,4,8,3,7] 输出49 解释图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下容器能够容纳水表示为蓝色部分的最大值为 49。解法1暴力解法 0-10-2...0-8 1-21-3...1-8 ... 7-8找出他们中的最大值 解法2  选取两个边5和7所盛水的体积,高度为min(5,7)5,底为4v高×底 20 1.因数1×因数2 乘积1 因数1减小因数2不变乘积1减小 2.因数1×因数2 乘积2 因数1减小因数2减小乘积2减小 下图 固定较矮的一侧移动较高的一侧 1.固定左边蓝色条右边蓝色条移动向左移动一位右边蓝色条高度变为3比左边蓝色条高因此此刻高不变仍为1底减小容积变小 容积最大时为初始状态下标0-8向里缩只会减小 上述较矮的一方向里侧移动左侧蓝色条向右移动一位后如下图所示。 1.固定右边蓝色条左边蓝色条移动向右移动一位右边蓝色条高度变为6比右边蓝色条矮因此此刻高减小为6底减小容积变小 容积最大时为初始状态下标1-8向里缩只会减小 重复上述操作  class Solution { public:int maxArea(vectorint height) {int left 0, right height.size()-1, ret 0;while(leftright){int v min(height[left],height[right]) * (right - left);if(ret v)ret v;if(height[left] height[right])left;elseright--;}return ret;} };
http://www.dnsts.com.cn/news/162566.html

相关文章:

  • 网站建设的成本主要有哪几项网站建设周记300字
  • 江西省新的建设厅三类人员网站电子商务网站开发背景和意义
  • 做外贸 访问国外网站 怎么办网站怎么做悬浮图片
  • 品牌网站设计公司价格沈阳网站制作
  • 公司给别人做的网站违法吗创意设计赛道具体赛题是什么
  • 动易的网站系统杭州建设网站建站
  • 行政审批局政务服务网站建设情况少儿编程课网课免费
  • 网站常见错误代码黑彩网站怎么做
  • 电视网站免费大全遵化建设招标网站
  • 网站360自然排名要怎么做个体工商户网站备案
  • 深圳 营销型网站公司公司网站的好处
  • 亚马逊电商网站如何申请企业微信
  • 网站外链的优化方法建网站要多少费用
  • 网址交易网站百度速页建站
  • 爱站站长工具wordpress改变友情链接顺序
  • 个人网站创意腾讯云wordpress建站
  • 微网站界面尺寸网站建设在360属于什么类目
  • 凡科网商城是正规网站吗自己做短视频的网站
  • apsx做的网站怎么发布比价 wordpress 插件下载
  • 山东网站备案时间搬瓦工wordpress建站
  • 网站制作工作室24小时接单商城开发平台
  • 手机网站如何做吴江网络推广
  • 东莞做网站的公司哪家最好一家公司为什么要建官方网站
  • 网站开发模块找郴州一家做网站的公司电话
  • 网站模板紫色wordpress 优惠码主题
  • 网站正在建设维护中如何做网站流量
  • 乐山市做网站的公司惠州有家最好网站建设
  • 网站推广策划书包括哪些点可以找题目做的网站
  • 海淀周边网站建设泰州seo网站推广
  • 小企业财务软件免费版wordpress seo教程