自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 java-折半插入排序法

java-折半插入排序法在插入排序法的基础上改进了通过比较找到数据插入的位置,通过二分法寻找数据插入的位置,移动数据的方式没有变代码:public class HalfInsertSort { public int[] halfInsertSort(int[] arr) { for (int i = 1; i < arr.length; i++) { int right = arr[i]; // 记录要插入的数据 int low = 0; // 左指针 int high

2020-12-20 20:21:35 227 1

原创 排序-直接插入法

排序-直接插入法假设数组A={a1,a2,a3,a4…an}1.从数组开始位置出发,把a1视为只有一个数据的有序数组2.从a2开始遍历这个数组,拿每一个数据和前面的数据比较,如果前面的数据比这个数据大,那么把前面的数据往后推一个位置并记录其下标,直到前面的数据比这个数小,那么上一个比这个数大的数的位置就是要插入的位置,从a2到an依次插入之后就实现了将数组正序排列,倒序正好相反。代码://直接插入排序法public class InsertionSort { public int[] ins

2020-12-20 19:43:25 183

原创 java 最长回文子串

给定一个字符串 s,找到 s 中最长的回文子串。你可以假设 s 的最大长度为 1000。示例 1:输入: "babad"输出: "bab"注意: "aba" 也是一个有效答案。示例 2:输入: "cbbd"输出: "bb"解答public class LongPlalindrome { public String findPla(String s, int left, int right) { while (left >= 0 && right < s

2020-12-20 02:00:02 809 2

原创 java寻找两个正序数组的中位数

给定两个大小为 m 和 n 的正序(从小到大)数组 nums1 和 nums2。请你找出并返回这两个正序数组的中位数。进阶:你能设计一个时间复杂度为 O(log (m+n)) 的算法解决此问题吗?示例 1:输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例 2:输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) /

2020-12-20 00:48:48 191 1

原创 java无重复字符的最长子串

给定一个字符串,请你找出其中不含有重复字符的 最长子串 的长度。示例 1:输入: s = "abcabcbb"输出: 3 解释: 因为无重复字符的最长子串是 "abc",所以其长度为 3。示例 2:输入: s = "bbbbb"输出: 1解释: 因为无重复字符的最长子串是 "b",所以其长度为 1。示例 3:输入: s = "pwwkew"输出: 3解释: 因为无重复字符的最长子串是 "wke",所以其长度为 3。 请注意,你的答案必须是 子串 的长度,"pwke" 是

2020-12-19 23:49:18 301 2

原创 两数相加-链表

给出两个 非空 的链表用来表示两个非负的整数。其中,它们各自的位数是按照 逆序 的方式存储的,并且它们的每个节点只能存储 一位 数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字 0 之外,这两个数都不会以 0 开头。示例:输入:(2 -> 4 -> 3) + (5 -> 6 -> 4)输出:7 -> 0 -> 8原因:342 + 465 = 807package day1;class ListNode { in

2020-12-19 23:02:16 59 1

原创 java 静态、抽象、内部类

静态、抽象、内部类1.修饰符​ static:可以修饰成员变量、成员方法、代码块​ 成员变量:使用static修饰成员变量,成为静态变量,静态变量属于类不属于对象,被由该类产生的所有对象共享,因此我们推荐用类名.静态变量/对象.静态变量​ static修饰得变量在执行类加载的时候就会被夹在到内存的方法区,jvm会根据数据类型给初始值,因此类加载结束后静态变量已经在内存中出现并且分配了初始值,所以一旦加载结束,静态变量就可以直接用类名调用。​

2020-12-19 20:12:10 206 1

原创 java面向对象的特性

面向对象的特性封装(方法的重载)面向对象编程语言,需要对现实世界中的事物进行抽象、模拟。现实世界中的对象属性,都是隐藏在对象内部的,外界无法直接操作和修改。在类中定义属性的时候,一般需要把属性隐藏起来。如果外界需要访问这个属性,那么就提供公共方法对其访问属性的封装:属性的隐藏,有些属性我们不想公开​ java中的属性隐藏:通过范围修饰符 private​ private:会将属性的访问权限控制在当前类中,只能在当前类中访

2020-12-19 19:30:59 64 1

原创 java类与对象

类与对象OOP(object oriented programming),面向对象编程把构成问题的各种事物,抽象成各个对象,这些对象具有解决问题的行为(方法),同时对象还可以具有解决很多类似问题的行为(方法),而不只是能解决一个问题。POP(procedure oriented Programming),面向过程编程分析出,解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,然后依次调用就可以了。FP(functional programming),函数式编程类似于面向过程的程序设计方式,具

2020-12-19 19:05:45 59 1

原创 java数组

数组​ 1.什么是数组,有什么用处​ 数据类型:​ 基本数据类型:byte short int long float double boolean char 对值直接进行存储操作​ 引用数据类型:类类型 接口类型 数组类型 直接1保存都是一个地址,地址在堆区代表一块内存空间,数组在内存空间中保存​ 数组也是对

2020-12-19 18:50:08 122 1

原创 java操作符和流程控制

一、操作符​ 1.=操作符​ 2.比较操作符:都会产生一个boolean类型的值​ 对数值比较: > >= <= <​ 对象 instracOF 类型​ 3.相等操作符:​ ==:比较两个数是否相等,相等为true,不等为false​ !=:不等为true,相等为flase​ 基本数据类型:只要值相等,两个数据就

2020-12-19 18:40:22 41 1

原创 java的 标识符、关键字、变量

标识符、关键字、变量一、注释​ 作用: 给程序员书写提供提示功能​ 所有的注释在编译的时候去除​ 分类:​ 普通注释:​ //:单行注释​ /**/:多行注释​ 文档注释:​

2020-12-19 16:28:06 68 1

原创 了解java

一.java语言的优点,什么机制支撑java具有这么多优点​ 1.java中JVM的存在语言跨平台​ 一次编译到处运行,任何一个操作平台上书写的Java代码拿到其他的平台上不需要做任何修改直接可以运行​ Java代码是不能直接运行的,首先要编译,编译之后的字节码文件需要运行在JVM上的​ 我们的计算机是不能直接识别字节码文件的需要有JVm做翻译,我的代码其实是运行

2020-12-19 15:52:19 97 1

原创 Linux基础知识

一、Linux操作系统的构成:一个Linux操作系统,有三个重要的部分组成。内核、Shell、文件系统。1.Kernel:管理内核,管理硬件设备、内存、进程、交互空间、文件系统、系统程序等。2.Shell:翻译官接受用户的命令——>翻译——>Kernel——>计算工作<—— 翻译<——常见的几种Shell:Bourne shellKorn shellC shellBourne-again shell(base)shell:…$:登录当前系统的为普通用

2020-12-19 15:33:32 188 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除