LeetCode算法题思路总结

LeetCode算法题思路总结

No.724. 寻找数组的中心索引
中心索引: 数组中心索引的左侧所有元素相加的和等于右侧所有元素相加的和
思路:转化为求解 sunLeft * 2 + nums[p] = sumTotal

No.747. 至少是其他数字两倍的最大数
在一个给定的数组nums中,总是存在一个最大元素 。
查找数组中的最大元素是否至少是数组中每个其他数字的两倍。
思路:转化为数组中的最大元素是否至少是第二大元素的两倍。一轮循环得到最大元素和第二大元素,再进行判断。

No.18 加一
给定一个由整数组成的非空数组所表示的非负整数,在该数的基础上加一。
最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。
思路:分情况讨论:1,当末尾数字不为9时,末尾数字+1,return。
2,当末尾数字为9时,末尾数字清0,前一位+1,若前一位还是进位,则继续循环,若没有进位则return。如果直到循环结束还没return,说明该数为9,99,999,9999等等,此时需手动进一位。

No.189 旋转数组
给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。
思路:第i位的下一个坐标是(i+k)%nums.length 。因此可使用一个临时数组,把原本数组里下标为 i的数值放到 临时数组下标为(i+k)%nums.length 的位置,再把新数组拷贝到原数组中。

No.561 拆分数组I
给定长度为 2n 的数组, 你的任务是将这些数分成 n 对,

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值