- 博客(13)
- 收藏
- 关注
原创 双指针问题
LeetCode27 移除元素给定一个数组 nums和一个值 val,你需要原地移除所有数值等于val的元素,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件下完成。元素的顺序可以改变。你不需要考虑数组中超出新长度后面的元素示例:给定 nums = [3,2,2,3], val = 3,函数应该返回新的长度 2...
2019-12-05 08:53:27
113
原创 简单的字符串匹配
简单Kmp字符串匹配:编写一个程序,提示用户输入两个字符串,检测第二个字符串是否是第一个字符串的字串。代码如下:import java.util.Scanner;class Class22{ //KMP字符串匹配算法 public static void main(String[] args){ String s1="1123456548";...
2019-12-04 21:00:43
243
原创 简单排序---希尔排序
希尔排序(Shell Sort)希尔排序是插入排序的一种,是对直接插入排序的改进,希尔排序又称缩小增量排序。基本思想:对于n个要排序的数,取一个小于n的整数gap,(步长),按照步长的大小对数组中的元素进行比较排序,将元素插入。将gap的值除二,重复执行,知道gap =1,当gap = 1时,数组就是有序的。由上图可以看出:希尔排序比插入排序多了一个步长;不用每次都去...
2019-11-21 10:53:18
125
原创 Java day04(数组与函数)
数组和函数在执行程序的时候,经常要存储大量的数据,如果我们要读入100个数,并对其进行一系列操作,必须声明100个变量,这样会出现很多的变量的声明,为了解决这种问题,Java中提供了一种数组的数据结构。(array)数组常见的有一维的和二维的,数组一旦被创建,它的大小是固定的。使用一个数组引用变量,通过下标来访问数组中的元素。数组是用来存储数据的集合,数组其实是一个存储具有相同数据类型...
2019-11-19 20:35:57
199
原创 杨辉三角
打印杨辉三角杨辉三角又叫帕斯卡三角,是二项式系数在三角形中的一种几何排序,每行端点与结尾的数为1,每行数字左右对称,由1开始逐渐变大,第n行有n个数字,下一行的每个数字等于上一行的左右两个数字之和。杨辉三角是一个比较神奇的三角,从不通的角度看有不同的性质。我们不用去考虑其性质,只考虑怎样将其用代码表示出来。方法一:用简单的for循环加简单递归调用的方法将其打印,具体见代码如下:...
2019-11-14 22:53:46
222
原创 Java day 03(条件语句和循环语句)
条件控制语句Java条件语句—if~else一个语句包含一个布尔表达式和一条或多条语句。If语句语法if(布尔表达式) {//如果布尔表达式为true将执行的语句}如果布尔表达式为true,就执行if语句中的代码快,否则执行if语句后面的代码if~else语句语法if 语句后面可以跟 else 语句,当 if 语句的布尔表达式值为 false ...
2019-11-14 22:25:36
106
原创 Java day02(Java基本数据)
简单的Java程序class A{public static void main(String[] args) {System.out,println(“ HelloWorld”);}}class 后面跟的是类名一个类中可以出现变量和函数的定义但是不能出现执行的语句一般而言首字母大写的是类public 公共的->访问权限 默认 protected priv...
2019-11-13 23:03:37
73
原创 Java day01(Java运行环境)
硬件基础 刚开始学习编程,首先要了解计算机的组成,知道软件是如何在计算机中运行起来的。计算机主要由运算器、控制器、存储器、输入输出设备5部分组成。计算机以运算器为中心在通过存储器中的指令对数据进行传输。一般来讲cpu由控制器和运算器组成,与存储器一起构成电脑的主机,再加上I/O设备形成电脑上的硬件组成。那么什么是软件呢?软件是按照特定的顺序组织的计算机数据与指令的集合。...
2019-10-30 20:09:22
111
原创 结构相似问题----递归
递归:可以通过重复将问题分解,成为相同类型的子问题,进而解决这个问题,能用循环去解决的问题基本都可以用递归去解决,在高级程序设计的过程中,有几个最基本的语句:循环,顺序,判断。这些组成程序的具体实现的方法。递归的方法比较浪费内存空间,但是效率高,代码少。·基本思想 一个函数或者过程在定义或者在说明中有直接或者间接调用自身的一种方法。通常将复杂问题层层转化为小的问题去解决。递归也是...
2019-08-05 23:53:24
229
原创 查找问题-----二分查找
首先,查找的方式有很多种方法,比如:二分查找,顺序查找,斐波那契查找,插值查找,但是基本都是基于二分查找的思想。接下来说一下二分的基本实现方法。·基本思想 二分查找的思想其实很简单,就是不断地将你所要查找的数字和你所查找的数组中的最中间的数字比较,如果比数组中的中间的数字大,则将该数组中的前面的所有的数字全部忽略,然后从后面的数组开始比,如此反复,直到找到该数字,或者数字...
2019-08-05 12:00:14
110
原创 简单排序---插入排序
·基本思想 首先,插入排序关键就是在于插入的方法,插入的方法不同,排序就不同,一种最简单的就是类似于选择排序,就是将数组中的后面的一个元素数组中的最后一个元素比较,如果后面是比前面的小,则交换,否则不交换。这种就是最直接的排序。·重点 插入排序,关键就是要比较相邻的元素的大小,然后将小的元素的坐标记下,然后继续向前比较直到没有比他还小的。然后将最后的最小的数和刚开始比较...
2019-07-28 17:04:32
122
原创 简单排序---选择排序
·基本思想 首先,我们应该了解什么是选择,其本质是从一个数组里面的第一个数开始,和后面的数开始比较,找到一个最小的数,然后,让他和第一个数交换。然后又从第二个数开始,以此类推,直到遍历完全g。·重点 要明白怎样可以通过不断地比较,将最小的数字比较出来,第一次比较之后,将最小的数往前移动,但是后面可能还会有更小的数,所以要将你第一次找的最小的数纪录下来和后面...
2019-07-28 12:45:41
116
原创 简单排序---冒泡排序
·基本思想: 首先要明白冒泡(bubble),是一种小数下沉,大数上浮的方法,故名冒泡。其基本原理是有一组无序的一组数字,从第一个数字开始,两两相比较变成一个从小到大一个有序的一组数。如果后面的数字比前面的小,则交换,否则,用后面的数字和下一个数字继续比较,直到把这组数字遍历完全。·重点 要比较一个数和其他后面的一组数,首先要用到两个嵌套循环,第一个用来记次数(一定注意是...
2019-07-27 11:49:30
291
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人