Blog

Thinking will not overcome fear but action will.

leetcode25.K个一组翻转链表

leetcode25.K个一组翻转链表 Question 给你一个链表,每 k 个节点一组进行翻转,请你返回翻转后的链表。 k 是一个正整数,它的值小于或等于链表的长度。 如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。   示例: 给你这个链表:1->2->3->4->5 当 ...

求二叉树的深度(递归和非递归)

求二叉树的深度(递归和非递归) Question 输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 Answer 二叉树结构 public class TreeNode { int val = 0; TreeNode left = null; TreeNode ri...

Java集合类:HashMap(基于JDK1.8)

散列函数 散列函数处理冲突的方法 开放地址法 所谓开放地址法,即可存放新表项的空闲地址既向他的同义词表项开放,又向他的非同义词表项开放。 取定某一增量序列后,处理方法是确定的。 线性探测法 d=0,1,2,···,m-1 线性查看下一个单元,容易导致聚集 平方探测法 d=0^2,1^2,-1^2,2^...

Java集合框架

Java集合框架 List,Set,Map三者的区别 List:List接口存储一组不唯一(可以有多个元素引用相同的对象)、有序的对象 Set:不允许重复的集合。不会有多个元素引用相同的对象 Map:使用键值对存储。两个Key可以引用相同的对象,但Key不能重复,典型的Key是String类型,但也可以是任何对象 Arraylist 与 LinkedList 区别 ...

Java基础知识

Java基础知识 面向对象与面向过程 面向过程性能比面向对象高,因为类的调用需要实例化,开销大 Java性能差的根本原因是因为半编译语言,最终的执行代码不是可以直接被CPU执行的二进制码 Java特点 Java虚拟机实现平台无关性 支持多线程 C++11开始(2011年的时候),C++就引入了多线程库,在windows、linux、macos都...

leetcode18.四数之和

leetcode18.四数之和 Question 给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。 注意: 答案中不可以包含重复的四元组。 示例: 给定数组 nums = [1,...

leetcode15.三数之和.16.最接近的三数之和

Question-15 给你一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?请你找出所有满足条件且不重复的三元组。 注意:答案中不可以包含重复的三元组。 示例: 给定数组 nums = [-1, 0, 1, 2, -1, -4], 满足要求的三元组集合为: [ [-...

leetcode35.搜索插入位置

leetcode35.搜索插入位置 Question 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。 你可以假设数组中无重复元素。 示例 1: 输入: [1,3,5,6], 5 输出: 2 示例 2: 输入: [1,3,5,6], 2 输出: 1 示例 3: 输入: [...

leetcode33.搜索旋转排序数组

leetcode33.搜索旋转排序数组 Question 假设按照升序排序的数组在预先未知的某个点上进行了旋转。 ( 例如,数组 [0,1,2,4,5,6,7] 可能变为 [4,5,6,7,0,1,2] )。 搜索一个给定的目标值,如果数组中存在这个目标值,则返回它的索引,否则返回 -1 。 你可以假设数组中不存在重复的元素。 你的算法时间复...

更换pip源到国内镜像

更换pip源到国内镜像 修改 pip.conf 文件 路径$HOME/.config/pip/pip.conf 没有该文件自己创建一个 常用命令 ls -a 显示所有文件(包括隐藏文件) mkdir 创建文件夹 touch pip.conf 创建文件 vi pip.conf pip.conf修改成 [global] timeout = 6000 index...