LEETCODE常用小知识点总结(不断更新)

一,取得十进制数字上的每一位

用当前数字与10求余数,该余数即是当前数字最低位上的数字,接下来我们将当前数字除以10,继续求它与10的余数,该数字即是次低位上的数字,重复上述过程直到当前数字为0为止。

List<Integer> list = new ArrayList<>();
// 取得x上的每一位
while(x>0){
    list.add(x%10);
    x/=10;
}

二, 判断回文

判断一个字符串是否是回文我们通常采用剥洋葱的方式,从最外层向内比较,解题时可以定义左右两个指针,初始时左指针指向下标0,右指针指向字符串末尾位,如果当前俩指针指向的值不一致,直接返回false。反之,左指针加一,右指针减一,向内移动一层继续比较,重复此过程直到左指针不再小于右指针为止。

public boolean isPalindrome(String s) {
    // 定义左右指针
    int left=0,right=list.size()-1;
    while(left<right){
        // 左右指针指向的数字不同时,返回false
        if(s.charAt(left) != s.charAt(right)){
            return false;
        }
        left++;
        right--;
    }
    return true;
}

三,不使用额外变量交换两个数字或字符的值

继续阅读
发表在 leetcode | 标签为 , , , , , , , | 8条评论

LEETCODE刷题心得-你必须掌握的4类必考题型

前(fei)言(hua):

大约在一年前左右,我第一次打开leetcode的网站。在那之前,我从未想过要进行算法编程方面的学习。作为一名骨灰级AndroidApp程序猿,平时的工作与底层算法毫无干系。我们关心的内容大多是,AndroidOS推出哪些新鲜的功能?Animation又增加了什么绚丽的效果?最近又在流行什么框架?。。。什么?你问我是否关心代码执行效率?对不起,那不是硬件该去解决的问题吗?将你的内存,CPU,GPU,显卡,屏幕再加上手机壳,手机链统统升级一圈,你会发现我的程序速度将得到大幅改善。

算法的重要性

继续阅读
发表在 leetcode | 标签为 , , | 3条评论

到处刷屏的非洲举牌祝福视频是如何定制的,价格哪里最便宜?

最近刷朋友圈或视频号,经常见一帮非洲大兄弟一边奏乐一边舞,举着牌子再操上一口流利的中文送上祝福。当然祝福的形式还不仅于此,土著举枪的,小孩卖萌的各种各样。

我随手Google了一下【非洲祝福视频】这个关键字,居然有460万条搜索记录。

另外通过谷歌趋势我们可以清楚看出,关于非洲祝福的关键词搜索热度也是在不断增加的。2022年2月6日到12日的一周,搜索热度高达满分100分,其次在2022年3月底到4月初,热度也到达了70分以上。

另外从相关主题或者长尾关键词上也可以看出,相关联的主题搜索量与搜索力度也在同步大幅上升。

最后我们再来一起看下视频定制的价格(实际价格可能会会发生变化,请以官方网站为准):

更多价格可以登陆官网查看:红角本官网链接

发表在 红角本 | 标签为 , , , | 留下评论

推荐一个无门槛与明星网红亲密接触的网站

强烈推荐一个无门槛与明星网红亲密接触的网站 – 红角本。

如果你是大山,吴思瑶,丹尼斯等名人或者网红的粉丝,你可以随时与他们交流,他们将以视频的方式给你送去祝福或者惊喜!给家人和爱人送出一份不一样的礼物。

网站地址:hongjiaoben.com

微信小程序搜索红角本同样可以找到该服务。

发表在 红角本 | 标签为 , , , | 留下评论

LEETCODE 2079. Watering Plants 解题思路分析

题目大意:

给植物浇水

你打算用一个水罐给花园里的 n 株植物浇水。植物排成一行,从左到右进行标记,编号从 0 到 n – 1 。其中,第 i 株植物的位置是 x = i 。x = -1 处有一条河,你可以在那里重新灌满你的水罐。

每一株植物都需要浇特定量的水。你将会按下面描述的方式完成浇水:

  • 按从左到右的顺序给植物浇水。
  • 在给当前植物浇完水之后,如果你没有足够的水 完全 浇灌下一株植物,那么你就需要返回河边重新装满水罐。
  • 你 不能 提前重新灌满水罐。

最初,你在河边(也就是,x = -1),在 x 轴上每移动 一个单位 都需要 一步 。

给你一个下标从 0 开始的整数数组 plants ,数组由 n 个整数组成。其中,plants[i] 为第 i 株植物需要的水量。另有一个整数 capacity 表示水罐的容量,返回浇灌所有植物需要的 步数 。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 2081. k 镜像数字的和 解题思路分析

题目大意:

k 镜像数字的和

一个 k 镜像数字 指的是一个在十进制和 k 进制下从前往后读和从后往前读都一样的 没有前导 0 的  整数。

比方说,9 是一个 2 镜像数字。9 在十进制下为 9 ,二进制下为 1001 ,两者从前往后读和从后往前读都一样。
相反地,4 不是一个 2 镜像数字。4 在二进制下为 100 ,从前往后和从后往前读不相同。

给你进制 k 和一个数字 n ,请你返回 k 镜像数字中 最小 的 n 个数 之和 。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 461. Hamming Distance 解题思路分析

题目大意:

汉明距离

两个整数之间的 汉明距离 指的是这两个数字对应二进制位不同的位置的数目。

给你两个整数 x 和 y,计算并返回它们之间的汉明距离。

继续阅读
发表在 leetcode | 标签为 , , , | 留下评论

LEETCODE 2076. Process Restricted Friend Requests 解题思路分析

题目大意:

处理含限制条件的好友请求

给你一个整数 n ,表示网络上的用户数目。每个用户按从 0 到 n - 1 进行编号。

给你一个下标从 0 开始的二维整数数组 restrictions ,其中 restrictions[i] = [xi, yi] 意味着用户 xi 和用户 yi 不能 成为 朋友 ,不管是 直接 还是通过其他用户 间接 。

最初,用户里没有人是其他用户的朋友。给你一个下标从 0 开始的二维整数数组 requests 表示好友请求的列表,其中 requests[j] = [uj, vj] 是用户 uj 和用户 vj 之间的一条好友请求。

如果 uj 和 vj 可以成为 朋友 ,那么好友请求将会 成功 。每个好友请求都会按列表中给出的顺序进行处理(即,requests[j] 会在 requests[j + 1] 前)。一旦请求成功,那么对所有未来的好友请求而言, uj 和 vj 将会 成为直接朋友 。

返回一个 布尔数组 result ,其中元素遵循此规则:如果第 j 个好友请求 成功,那么 result[j]就是true;否则,为false 。

注意:如果 uj 和 vj 已经是直接朋友,那么他们之间的请求将仍然 成功 。

继续阅读
发表在 leetcode | 标签为 , , , , | 留下评论

LEETCODE 448. 找到所有数组中消失的数字 解题思路分析

题目大意:

给你一个含 n 个整数的数组 nums ,其中 nums[i] 在区间 [1, n] 内。请你找出所有在 [1, n] 范围内但没有出现在 nums 中的数字,并以数组的形式返回结果。

继续阅读
发表在 leetcode | 标签为 , | 留下评论

LEETCODE 62. Unique Paths 解题思路分析(2种经典思路)

题目大意:

一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。

机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。

问总共有多少条不同的路径?

继续阅读
发表在 leetcode | 标签为 , , , , , | 留下评论

LEETCODE 668. Kth Smallest Number in Multiplication Table 解题思路分析

题目大意:

乘法表中第k小的数

几乎每一个人都用 乘法表。但是你能在乘法表中快速找到第k小的数字吗?

给定高度m 、宽度n 的一张 m * n的乘法表,以及正整数k,你需要返回表中第k 小的数字。

继续阅读
发表在 leetcode | 标签为 , , | 留下评论

LEETCODE 368. Largest Divisible Subset 解题思路分析

题目大意:

最大整除子集

给你一个由 无重复 正整数组成的集合 nums ,请你找出并返回其中最大的整除子集 answer ,子集中每一元素对 (answer[i], answer[j]) 都应当满足:

answer[i] % answer[j] == 0 ,或

answer[j] % answer[i] == 0

如果存在多个有效解子集,返回其中任何一个均可。

继续阅读
发表在 leetcode | 标签为 , , , , , | 留下评论