当前位置: 首页> 文旅> 酒店 > 网页版梦幻西游吸血鬼怎么过_最火爆的视频制作app_哪里可以买链接网站_网页制作网站制作

网页版梦幻西游吸血鬼怎么过_最火爆的视频制作app_哪里可以买链接网站_网页制作网站制作

时间:2025/7/12 7:16:03来源:https://blog.csdn.net/m0_55858611/article/details/147063223 浏览次数:0次
网页版梦幻西游吸血鬼怎么过_最火爆的视频制作app_哪里可以买链接网站_网页制作网站制作

面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台

目录

🎈1、双指针:9. 回文数

🎈2、逻辑题 :66. 加一

🎈3、逻辑题:172. 阶乘后的零

🎈4、二分模板:69. x 的平方根 

🎈5、位运算:50. Pow(x, n)

🎈6、暴力模拟:149. 直线上最多的点数


🎈1、双指针:9. 回文数

给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。

回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。

  • 例如,121 是回文,而 123 不是。

示例 1:

输入:x = 121
输出:true

示例 2:

输入:x = -121
输出:false
解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。

示例 3:

输入:x = 10
输出:false
解释:从右向左读, 为 01 。因此它不是一个回文数。

进阶:你能不将整数转为字符串来解决这个问题吗?

class Solution {public boolean isPalindrome(int x) {String s = Integer.toString(x);char[] arr=s.toCharArray();int left=0;int right=arr.length-1;while(left<right){if(arr[left]!=arr[right]){return false;}left++;right--;}return true;}
}

🎈2、逻辑题 :66. 加一

给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。

最高位数字存放在数组的首位, 数组中每个元素只存储单个数字。

你可以假设除了整数 0 之外,这个整数不会以零开头。

示例 1:

输入:digits = [1,2,3]
输出:[1,2,4]
解释:输入数组表示数字 123。

示例 2:

输入:digits = [4,3,2,1]
输出:[4,3,2,2]
解释:输入数组表示数字 4321。

示例 3:

输入:digits = [9]
输出:[1,0]
解释:输入数组表示数字 9。
加 1 得到了 9 + 1 = 10。
因此,结果应该是 [1,0]。

提示:

  • 1 <= digits.length <= 100
  • 0 <= digits[i] <= 9
class Solution {public int[] plusOne(int[] digits) {for(int i = digits.length - 1; i >= 0; i--){digits[i] = digits[i] + 1;if(digits[i] == 10){//当前值置0,下一位数字继续叠加digits[i] = 0;}else{return digits;}}//没有return只有可能是当前的值为99999.....,的情况,只需要new一个比原来数组大1的就可以.且把第一个元素置1,后面全0digits = new int[digits.length + 1];digits[0] = 1;return digits;}
}

🎈3、逻辑题:172. 阶乘后的零

给定一个整数 n ,返回 n! 结果中尾随零的数量。

提示 n! = n * (n - 1) * (n - 2) * ... * 3 * 2 * 1

示例 1:

输入:n = 3
输出:0
解释:3! = 6 ,不含尾随 0

示例 2:

输入:n = 5
输出:1
解释:5! = 120 ,有一个尾随 0

示例 3:

输入:n = 0
输出:0

进阶:你可以设计并实现对数时间复杂度的算法来解决此问题吗?

class Solution {public int trailingZeroes(int n) {int ans=0;//0的个数取决于5的数量while (n!=0){ans+=n/5;n/=5;}return ans;}
}

🎈4、二分模板:69. x 的平方根 

给你一个非负整数 x ,计算并返回 x 的 算术平方根 。

由于返回类型是整数,结果只保留 整数部分 ,小数部分将被 舍去 。

注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。

示例 1:

输入:x = 4
输出:2

示例 2:

输入:x = 8
输出:2
解释:8 的算术平方根是 2.82842..., 由于返回类型是整数,小数部分将被舍去。
class Solution {public int mySqrt(int x) {int l=0,r=x,ans=-1;while(l<=r){int mid=(l+r)/2;// 之前写的CSDN二分模板:// https://blog.csdn.net/m0_55858611/article/details/128910634?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522f0b874fdc6ea87b7d3fe64ae017dde2a%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fblog.%2522%257D&request_id=f0b874fdc6ea87b7d3fe64ae017dde2a&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~blog~first_rank_ecpm_v1~rank_v31_ecpm-6-128910634-null-null.nonecase&utm_term=%E4%BA%8C%E5%88%86&spm=1018.2226.3001.4450/*** //二分查找最优边长*         while (l <= r) {*             //mid为边长*             mid = (l + r) / 2;*             if (check(mid)) {*                 //ans是用来记录count=K时的mid的*                 ans = mid;*                 l = mid + 1;*             } else {*                 r = mid - 1;*             }*         }*         System.out.println(ans);*/if((long)mid*mid<=x){ans=mid;l=mid+1;}else {r=mid-1;}}return ans;}
}

🎈5、位运算:50. Pow(x, n)

实现 pow(x, n) ,即计算 x 的整数 n 次幂函数(即,xn )。

示例 1:

输入:x = 2.00000, n = 10
输出:1024.00000

示例 2:

输入:x = 2.10000, n = 3
输出:9.26100

示例 3:

输入:x = 2.00000, n = -2
输出:0.25000
解释:2-2 = 1/22 = 1/4 = 0.25
class Solution {public double myPow(double x, int n) {//灵神题解// https://leetcode.cn/problems/powx-n/solutions/2858114/tu-jie-yi-zhang-tu-miao-dong-kuai-su-mi-ykp3i/?envType=study-plan-v2&envId=top-interview-150double ans=1;long N=n;if(N<0){N=-N;x=1/x;}while(N>0){if((N&1)==1){ans*=x;}x*=x;N>>=1;}return ans;}
}

🎈6、暴力模拟:149. 直线上最多的点数

class Solution {//暴力模拟//1 <= points.length <= 300题目给的数据量有限的情况下public int maxPoints(int[][] points) {int length=points.length;if(length<=2)return length;int ans=0;for(int i=0;i<length;i++){for(int j=0;j<i;j++){int x1=points[i][0];int y1=points[i][1];int x2=points[j][0];int y2=points[j][1];int temp=2;for(int k=0;k<j;k++){int x3=points[k][0];int y3=points[k][1];if((y3-y2)*(x2-x1)==(y2-y1)*(x3-x2)){temp++;}}ans=Math.max(ans,temp);}}return ans;}
}

关键字:网页版梦幻西游吸血鬼怎么过_最火爆的视频制作app_哪里可以买链接网站_网页制作网站制作

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: