Guoziren`s Space 
  • 首页
  • 归档
  • 分类
  • 标签
  • 关于
  •   
  •   

字符串

1.有效的字母异位词方法一:排序算法:通过将 ss 的字母重新排列成 tt 来生成变位词。因此,如果 TT 是 SS 的变位词,对两个字符串进行排序将产生两个相同的字符串。此外,如果 ss 和 tt 的长度不同,tt 不能是 ss 的变位词,我们可以提前返回。 时间复杂度:O(nlogn),假设 n 是 s 的长度,排序成本O(nlogn) 和比较两个字符串的成本 O(n)。排序时间占主导地位,

2021-03-18
剑指offer leetcode
剑指offer leetcode

数组和矩阵

T20 顺时针打印矩阵 算法思想: 一圈一圈打印,左上角起点为一圈的开始,发现循环条件的规律 2 * start < rows && 2 * start < cols; 打印一圈: 左到右,肯定是要有的 上到下:前提是至少有2行 右到左:前提是至少有2行2列 下到上:前提是至少有3行2列 关键:画图举例法,找出规律,注意边界条件。

2021-03-18
剑指offer leetcode
剑指offer leetcode

刷题笔记

2.4.2 查找和排序查找相对简单:不外乎顺序查找,二分查找,哈希查找和二叉排序树查找。 不管是循环还是递归,面试官都期待应聘者能信手拈来写出完整正确的二分查找代码。 一定要对各种排序算法的特点烂熟于胸。 如果面试题要求在排序的数组(或者部分排序的 数组)中查找一个数字或者统计某个数字出现的次数,都可以尝试使用二分查找算法. 2020-05-18T13 机器人的运动范围 心得:和12题矩阵 相

2021-03-18
剑指offer leetcode
剑指offer leetcode

良好的编程习惯

最好养成防御性编程的习惯,在函数入口判断输入是否有效。 规范性书写清晰 布局清晰 命名合理 完整性***完成基本功能 考虑边界条件 做好错误处理 鲁棒性采取防御性编程 处理无效输入

2021-03-18
剑指offer leetcode
剑指offer leetcode

链表栈队列

链表问题的最优解往往是在空间复杂度上下功夫,就是怎样用最小的空间复杂度 快指针 慢指针 剑指Offer链表题目(9个): 6 从尾到头打印链表 18 在O(1)时间内删除链表结点 22 链表中倒数第k个结点 23 链表中环的入口结点 24 反转链表 25 合并两个排序的链表 35 复杂链表的复制 36 二叉搜索树与双向链表 52 两个链表的第一个公共结点 68 6 从尾到头打印链表(☆)6.

2021-03-18
剑指offer leetcode
剑指offer leetcode

二叉树

剑指offer题目7 重建二叉树(☆☆)题目:根据中序序列和先序序列构造一颗二叉树,二叉树结点的值都不相同。 算法步骤: ①判空(数组合法性检查) ②找到根节点的值,构造根节点 ③在中序数组中找到根节点的位置,以求出左右子树的长度,并递归调用自己 ​ 存在左子树构造左子树,存在右子树构造右子树 注: 这里可以理解为用的先序去构造的这颗树,1个结点的左右子树都为空时,会直接返回这个结点。

2021-03-18
剑指offer leetcode
剑指offer leetcode

递归

36 二叉搜索树与双向链表

2021-03-18
剑指offer leetcode
剑指offer leetcode

第14章

JavaFX基础JavaFX 是开发Java GUI程序的新框架。JavaFX平台取代了Swing和AWT,JavaFX可以作为一个应用独立运行或者在浏览器中运行。 JavaFX程序的基本结构public class MyJavaFx extends public class MyJavaFx extends Application { @Override public

2021-03-18
Java Fx
Java Fx Java

垃圾收集

//添加以下虚拟机参数 -XX:+PrintCommandLineFlags

2021-03-18
宋
Java Java虚拟机 宋

方法区

方法区是多个线程共享的 方法区类似于操作系统进程的代码段”text segment” 方法区类似于存储 编译过后的代码 它存储每个类的结构,比如运行时常量池,方法和构造器的字节码,包括一些特殊的用于类和实例初始化还有接口初始化的特殊方法 工具jvisualvm static final 修饰的 基本类型和字符串变量 编译时 就确定了他的值 方法区中非常重要的结构:运行

2021-03-18
宋
Java Java虚拟机 宋

运行时数据区

https://docs.oracle.com/javase/specs/jvms/se8/jvms8.pdf start PC + Length 表示它的作用域 栈是管运行的,堆是馆数据存储的 执行引擎会将字节码指令翻译成机器指令去执行 操作数栈用数组实现 stack=2 表示操作数栈的深度 locals=3表示局部变量表中元素个数,他俩都是数组实现。 istor

2021-03-18
宋
Java Java虚拟机 宋

一、内存结构

[TOC] 1. 程序计数器1. 定义: program counter register 程序计数器(寄存器) 2. 作用: 保存下一条字节码指令的地址 2. 虚拟机栈2.1定义 定义:每个线程运行需要的空间 组成:由多个栈帧组成 栈帧:是方法需要的内存. 存放方法参数,局部变量,返回地址 1个方法的调用对应1个栈帧的入栈和出栈 每个线程只能由1个活动栈帧,对应着当

2021-03-18
Java虚拟机
Java Java虚拟机
12345…23

搜索

Hexo Fluid
鄂ICP备2020017971号-1