为什么机器不学习
为什么机器不学习
全部文章
分类
题解(15)
归档
标签
去牛客网
登录
/
注册
为什么机器不学习的博客
全部文章
(共15篇)
大数加法
用BigInteger是投机取巧的做法,面试时这么干会被面试官喷。这题考察的是大数计算器的思想,类似的题还有lc 2(链表两数相加)。只需要想象一下我们在做加法时,都做了什么事情,其实只有两种情况:需要进位和不需要进位。所谓进位,无非是当前位相加大于等于10的话,就在下一位加1。那么我们就可以用一个...
Java
大数
2021-01-26
22
2935
快慢指针
快指针一次走两个节点,慢指针一次走一个节点。我们只需要明白:如果其中一个指针可以到达尾节点,那么这个链表一定没有环。因为有环的节点是没有出口的,那么快慢指针在环中一定会相遇,也就是说只要slow和fast相等,就说明链表有环。 /** * Definition for singly-linked ...
Java
链表
快慢指针
2021-01-25
0
616
机票统计
这里只要注意审题,别的没什么难点。比如题目要求按照候选人的输入顺序输出结果,假设我们使用了HashMap来存储,那么直接遍历HashMap是不对的,因为HashMap并不能保证输入的顺序,使用LinkedHashMap可以解决这个问题。或者像我这样,干脆根据String[]的顺序来输出,通常认为Li...
Java
哈希表
2021-01-10
22
1562
根据标识排序整型数组
要注意的是,Array.sort()是可以排序int[]类型的,但只能是默认升序;如果是想自定义Comparator降序,需要是包装类Integer[]才可以,所以在这里初始化直接使用Integer[]类型。 import java.util.*; public class Main { ...
Java
排序
2021-01-09
1
855
求最大连续bit数(测试用例有问题)
java直接用位运算&,用当前数字和1做“&”操作,如果结果是1,说明此时的二进制第一位为1,然后右移一位,直至数字为0。注意java的>>是有符号右移,也就是说,负数用>>右移的话,会在左侧补1而不是0,这就会影响最终对1的计数。所以这里我们要使用无符号右移...
Java
位运算
2021-01-09
37
1436
尼科斯彻定理
高中的我们看到这个题的一瞬间,一定会觉得这是个弱智题。然而现在的我,想了好久。。题目的意思是已知等差数列和 为 ,项数n为m,公差d为2,求首项 : import java.util.Scanner; public class Main { public static void ma...
Java
数学
2021-01-09
152
5575
杨辉三角变形
本题是找规律的题,只要往下再写几行就可以看出奇偶的规律,而且每行只需要写前几个就可以了,因为题目问的是第一个偶数的index。于是我们会发现,只有n为1,2时,没有出现偶数,剩下的按照2 3 2 4的规律每四行循环一次。 n 1 2 3 4 5 6 7 8 9 10 11 …… inde...
Java
规律
数学
2021-01-08
165
7540
求最小公倍数
a,b的最大公约数为gcd(a,b),最小公倍数的公式为:此题说是正数,所以绝对值无所谓了。我们可以发现题目带了‘递归’的标签,那么就用递归来实现gcd,既是面向题目编程,又方便了自己,一举两得。 gcd的算法是根据Euclidean algorithm来的,拿维基百科的例子来说: 计算a...
Java
数学
2021-01-08
50
2472
密码截取
和Leetcode 5 最长回文字是一个题,暴力解采用双指针从两侧向中心搜索,复杂度可达O(n^3)。这里我们采用中心扩散的做法,把复杂度降到O(n^2)。所谓中心扩散,就是选定一个值,然后向左右扩散。我们可以发现,回文串有两种,一种是aabb,中心在ab之间;另一种是aacbb,中心为c。我们可以...
2021-01-07
29
1538
统计字符
四种情况,没什么难点。 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); ...
2021-01-07
0
592
首页
上一页
1
2
下一页
末页