算法
积极向上的Elbert
所有的努力都是为未来的成功做铺垫
展开
-
惊了!java中Math.abs(-2147483648)=-2147483648,这是为什么
众所周知,int的取值范围为[-231 ,231 -1], 在使用Math.abs()这个方法时,如下图,每个负数都有对应的一个整数,但是0和最后一位(-231)对应的是自己,int的取值范围在abs方法中是一个圆,形成一个环路,所以, Math.abs(-2147483648)=-2147483648 Math.abs(-2147483648-1)=2147483647 Math.abs(-2147483648-2147483648)=0 妙啊,妙啊[smile] ...原创 2021-05-28 14:46:56 · 338 阅读 · 1 评论 -
链表动态存储数据
好家伙,今天在做leetcode的一个题 题目如下:给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。 请你将两个数相加,并以相同形式返回一个表示和的链表。 你可以假设除了数字 0 之外,这两个数都不会以 0 开头。 来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/add-two-numbers 著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。 下面是该题的解法原创 2021-04-08 15:56:54 · 613 阅读 · 0 评论 -
一只青蛙一次可以跳上1级台阶,也可以跳上2级,也可以跳n级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)
青蛙跳阶级问题其实就是一个递归的问题 题目:一只青蛙一次可以跳上1级台阶,也可以跳上2级,也可以跳n级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。 先上解法再解释 public static int canJumpNLevel(int target){ if(target==0){ return 0; }else if(target==1){ return 1; }else {原创 2021-03-22 17:55:58 · 2947 阅读 · 0 评论 -
《没那么简单》之到底喝了几瓶,java算法实现
背景 在看小品的时候,看到郭哥演的《没那么简单》,想起了之前参加蓝桥杯的时候也有这么一个算法题,于是乎,闲来无事,用算法实现一下小品里面到底有多少瓶的问题 上代码 一开始写的时候,初始的瓶数是写成静态常量,后来为了方便多次测试,才用了while循环 package com.example.bottlealgorithm.demo; import org.springframework.boot.autoconfigure.SpringBootApplication; import java.util.S原创 2021-02-16 12:12:15 · 157 阅读 · 0 评论