牛客631798768号
牛客631798768号
全部文章
题解
动态规划(2)
链表(2)
归档
标签
去牛客网
登录
/
注册
牛客631798768号的博客
全部文章
/ 题解
(共23篇)
题解 | #不用加减乘除做加法#
使用位运算。核心问题在于处理进位问题。 异或用来做不带进位的加法,(num1 & num2)<< 1用来处理进位。定义一个变量用来记录进位的情况。说明:1.使用与运算可以判断出哪个位置上需要进行进位,然后左移表示将进位进到需进位的位置上;2.处理进位的方法:将异或的结果与【与运算...
算法
2021-08-06
0
401
题解 | #数组中重复的数字#
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param numbers int整型一维数组 ...
算法
2021-08-06
0
339
题解 | #删除链表中重复的结点#
记录题解快慢指针法。利用快指针,过滤掉重复的节点;使用慢指针构造出没有重复节点的新链表。 public class Solution { public ListNode deleteDuplication(ListNode pHead) { ListNode pre = ne...
算法
2021-08-06
0
357
连续子数组的最大和
记录题解。当前数字加上前一个数(实际上是连续个数字的和),若前一个数字是负数,那么一定使当前数字变小(也一定使当前数字之后的子序列和变小),也就是使得和变小,此时就不进行累加了,而是从当前数字开始新的子序列累加。使用一个max变量来存储过程中的最大值,最后返回。 public class Solut...
算法
2021-08-05
0
445
题解 | #二进制中1的个数#
记录题解。两个二进制的相加结果是用一个异或门实现的;两个二进制的进位结果是用一个与门来实现的。 public class Solution { public int Add(int num1,int num2) { int result = 0; int ...
算法
2021-08-01
0
405
题解 | #二进制中1的个数#
记录题解。首先明白 负数在二进制运算中是以补码的形式进行的(正数其实就是他本身),那么让其不断进行无符号的右移 并和1进行与运算,便能统计出 二进制中 1 的个数了。 public class Solution { public int NumberOf1(int n){ i...
算法
2021-07-28
0
399
题解 | #数值的整数次方#
记录题解。将次方数看作是二进制形式,然后使用位运算方法。 public double Power(double base, int exponent) { if (exponent < 0){//如果exponent是负数,就调整成正数 base = ...
算法
2021-07-27
0
346
题解 | #数组中只出现一次的两个数字#
记录方法。使用位运算。先对所有数字进行一次异或,得到两个出现一次的数字的异或值。在异或结果中找到为1的最低一位的位置。(这个二进制数中是1的二进制位暗含了什么个意思呢?分析不难知道,二进制位是1,就表示这两个数字在这个二进制位上的数是不同的。所以,这就是我们划分两个数到不同组的依据。)根据这一位对所...
算法
2021-07-26
0
383
题解 | #数组中只出现一次的两个数字#
记录一下做法。使用map方法(遍历): import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param array...
算法
2021-07-26
0
349
题解 | #坐标移动#
import java.util.HashMap; import java.util.Scanner; /** * 坐标移动(字符串)华为 * A左,D右,W上,S下(从0,0开始) * */ public class Main { public static void main...
算法
2021-07-25
1
654
首页
上一页
1
2
3
下一页
末页