- 博客(13)
- 收藏
- 关注
原创 动态规划(Java)
动态规划的目的就是避免重复计算,在暴力递归的过程中若在计算过程中产生了重复计算那么就可以进行动态规划的优化。以空间换时间,可以根据暴力递归的过程写出动态规划的过程。步骤: 题 -> 找到暴力递归算法 -> 有重复解 -> 找打可变参数 -> 记忆化搜索 -> 精细化组织变为经典的动态规划算法什么暴力递归可以继续优化?有重复调用同一个子问题的解,这种递归可以优化,如果每一个子问题都是不同的解,无法优化也不用优化面试中设计暴力递归过程的原则每一个可变参数的类型、一定不要比int类型更加复杂。
2022-11-11 18:06:15 3043 1
原创 打表技巧和矩阵处理技巧(Java)
文章目录前言一、打表法1. 小虎买苹果2. 牛羊轮流吃草3.连续整数和二、矩阵处理技巧1.zigzag打印矩阵2.转圈打印矩阵3.原地旋转正方形矩阵总结前言例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。一、打表法问题如果返回值不多,可以用hardcode的方式列出,作为程序的一部分一个问题解决时底层频繁使用规模不大的小问题的解,如果小问题的返回值满足条件1),可以把小问题列出一张表,作为程序的一部分打表找规律打
2022-11-11 18:04:27 342
原创 链表问题(Java)
本文主要讲解了几道与链表有关的基础提醒,帮助读者更好的运用链表,对这种数据结构有更好的掌握。二、判断链表回文三、将单链表按照某值划分成左边小中间相等右边大的形式放入数组进行partition,之后重新串联六个指针,但要考虑某个区域可能没有值四、复制random单链表利用HashMap对节点进行存储,key为老节点,value为克隆的新节点。分为两遍遍历,第一遍进行节点的复制,第二遍进行next与random节点的连接。时间复杂度 O(n) 空间复杂度(n)在原节点后面加上克
2022-06-10 17:49:16 282 2
原创 斐波那契数列的多种解法(含矩阵快速幂)
斐波那契数列的多种解法斐波那契函数的定义:斐波那契数列,又称黄金分割数列,指的是这样一个数列:0、1、1、2、3、5、8、13、21、34、……在数学上,斐波纳契数列以如下被以递归的方法定义:F(0)=0,F(1)=1,F(n)=F(n-1)+F(n-2)(n≥2,n∈N*)解法一利用递归的方法做首先要确定递归的终止条件:F(0)=1,F(1)=1。只后再利用公式F(n)=F(n-1)+F...
2020-03-11 23:09:28 1825
原创 总结位运算符与逻辑运算符区别
总结位运算符与逻辑运算符区别位运算符位运算符一共包含四种“按位或”运算符“|”,规则:全0则0,否则为1。“按位非”运算符“~”,规则:遇1则0,遇0则1。“按位异或”运算符“^”,规则:相同为0,不同为1。逻辑运算运算符含义&&逻辑与||逻辑或!逻辑非区别逻辑运算符只能针对boolean类型进行逻辑运算,而位运算还...
2019-05-24 23:41:33 218
原创 详述Java基本数据类型
详述Java基本数据类型说到数据类型我们就不得不先了解下数据类型都有什么基础数据类型1.整型:byte、short、int、long;2.浮点型:double、float;3.布尔型:boolean;4.字符型:char;如下图:详细介绍1.整型:上面已经提到整型数据有四种定义的方式:byte int short long他们的占用的内存取值的范围都有差别,然而除此之外,...
2019-05-24 22:55:22 228
原创 详述Java标识符
详述Java标识符对于Java的标识符主要有以下几点。什么是标识符说的比较直白一点就是编程时使用的名字,Java语言中,变量,常量,函数,语句块都有名字,我们统统称之为Java标识符标识符的命名规则标识符的命名规则具体如下:1、标识符由字母、数字、 “_”、 “$”组成,且首字母不能是数字;(如student student1 等)2、不能把Java关键字作为标识符;(如class...
2019-05-23 22:45:52 308
原创 Java程序运行原理
Java程序运行原理- Java代码的运行在了解Java的运行原理之前,配置好JDK后,我们首先要了解如何运行一个Java程序首先我们需要创建一个Java的源代码/** *This is a java program */public class HelloWorld{ public static void main(String [] args){ System.out....
2019-05-19 18:12:56 641 1
原创 详述Java注释
详述Java注释在人们的工作而学习当中,人们往往不能准确而又清楚的记住以前所创作代码的功能与意图,尤其在工作当中,往往需要多人协作共同来实现一个项目工程,因此为了方便人们更高效的理解代码的功能与逻辑,增强代码的可读性,同时也方便后期维护,提高产品开发的效率。注释应运而生,今天我们就来详细介绍下Java的注释。首先先来写一个HelloWorld.java文件/** *This is a ja...
2019-05-19 16:46:57 395 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人