自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一夜笑舟的专栏

认真做事,与年龄无关,永远都不晚!

  • 博客(32)
  • 资源 (1)
  • 收藏
  • 关注

原创 算法学习记录——快速排序(Python的两种实现方法)

用来存储从数组中挑选出来的一个元素(这里选择数组第一个元素作为基准数)1 给定一组数据-->列表 data[...... ],分别标记数组的左边索引和右边的索引。基准数-->mark。

2023-11-14 10:01:29 212

原创 算法学习记录——冒泡排序(python实现)

简单实现冒泡排序:内循环每比较一轮,就确定一个元素是有序的,按外循环的次数,依次进行比较,像水中的泡泡一样,一个一个有序冒上来的过程。冒泡排序 --> 比较简单的一种排序算法。

2023-11-03 15:01:08 59

原创 算法学习记录——选择排序(python实现)

最简单的排序算法——选择排序的实现过程。

2023-11-03 14:25:39 57

原创 算法实例练习——性格(内向外向人选座位)公交车问题(Python)

1. 一辆公交有 N 排座椅(有次序),一排座椅有两个座位,那一辆公交就有 2N 个座位。2. 有两类人上车,且坐满座位,所以会有 N 个内向的人,N 个外向的人:0->内向的人-->上车后找没人的,且座椅最小的位置坐下;1->外向的人-->上车后找有人的,且座椅最大的位置坐下;3. 输出结果,依据上车次序,给出每个人的座椅排号。

2023-11-02 16:26:50 71

原创 判断数组中只出现一次的两个数字

"""一个整型数组 nums 里除两个数字之外,其他数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度是O(n),空间复杂度是O(1)。请封装成一个函数,nums 为参数示例 1:输入:nums = [4,1,4,6]输出:[1,6] 或 [6,1]示例 2:输入:nums = [1,2,10,4,1,4,3,3]输出:[2,10] 或 [10,2]限制:2 <= nums.length <= 10000"""def test(nums).

2021-03-20 15:58:09 150

原创 判断整数数组中,四个元素之和等于目标的问题

代码如下"""给定一个包含 n 个整数的数组 nums 和一个目标值 target,判断 nums 中是否存在四个元素 a,b,c 和 d ,使得 a + b + c + d 的值与 target 相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。请封装成一个函数,nums 和 target 为函数参数示例 1:输入:nums = [1,0,-1,0,-2,2], target = 0输出:[[-2,-1,1,2],[-2,0,0,2],[-1,0,0,1

2021-03-20 15:53:06 254

原创 Python基础——练手小程序(模拟闹钟)

#设置一个响铃时间#获取到系统的当前时间#比较两个时间是否一样,一样的话电脑发出声音。import time as timport winsoundmytime = input('请输入一个响铃时间(时间格式:小时 分钟)注意空格:').split(' ')while True: currenttime = t.strftime('%H %M', t.localtime()).split(' ') if mytime[0] == currenttime[0] a.

2021-02-26 18:24:08 504

原创 Python基础——借用 for...in...迭代读取txt文件内容并保存成列表(List)

在做如何读取txt文件内容的练习时,遇到了一些问题,后经搜索、分析、学习,觉得有些收获,记录一下,也希望能够帮助到遇到同样问题的同学。两个问题:txt文件中有中文时,会报这个错误 UnicodeDecodeError: 'gbk' codec can't decode byte 0xad in position 87: illegal multibyte sequence 解决方法很简单,在打开文件时加上编码属性即可 with open(dir, 'r',encoding = 'ut.

2021-02-22 16:39:23 1520 1

原创 算法实例练习——含有复制功能的可迭代栈Stack(JAVA实现)

问题:一个可迭代的 Stack用例,它含有一个静态的copy()方法,接受一个字符串的栈作为参数并返回该栈的一个副本。不多说,直接看代码实现。import java.util.Iterator;public class StackTest<T> implements Iterable<T>{ private Node head; private...

2020-03-08 14:17:58 324 1

原创 算法实例练习记录——后序表达式求值(JAVA实现)

因为只考虑加减乘除的运算,所以比较简单,没有特别复杂的逻辑,利用一个栈的出栈、入栈操作就可以了。下面是具体的代码实现import java.util.Stack;/* * 编写一段程序,对给定的后序表达式,求值并打印结果。 *//* * 此程序因为只考虑加减乘除的操作,所以比较简单,核心就是用栈Stack的入栈,出栈来实现。 * 注意一点就是,给定的后序表达式,需...

2020-03-08 12:56:14 413 1

原创 算法实例练习记录——中序表达式转后续表达式问题(JAVA实现)

问题描述:将算术表达式由中序表达式转为后序表达式(目前仅限加减乘除)题目的核心还是利用Stack栈的特点——后进先出,解决问题,注意出栈规则——按照算术运算的优先级。中序表达式:方便人读取的算术表达式,如:1+2-2/(3-8) ,类似这样的就是中序表达式了,其实就是我们日常中经常看到的算术表达式。后序表达式:方便计算机读取的算术表达式,如:12+238-/- ,这个后序表达式就...

2020-03-07 20:28:47 462

原创 算法实例练习记录——缺少左括号的括号补全中序表达式问题(JAVA实现)

算法练习记录——问题描述:编写一段程序,给定一个缺少左括号的表达式,并打印出,补全括号之后的中序表达式。 例如,给定输入:1 + 2 ) * 3 - 4 ) * 5 - 6 ) ) ) 你的程序应该输出:( ( 1 + 2 ) * ( ( 3 - 4 ) * ( 5 - 6 ) ) )自己的一些感悟:1、 题目本身可能没什么难度,重点在于如何思考出栈入栈的方式。一开始我考虑...

2020-03-06 15:05:19 693

原创 算法实例练习记录——括号匹配是否完整问题 [链表实现栈 + 栈的应用](JAVA实现)

括号匹配是否完整问题 [链表实现栈 + 栈的应用]本篇博文涉及两个内容: 用单向链表实现——栈的功能 用栈的特点实现——括号匹配(或者叫字符匹配) 第一个问题:单向链表实现——栈的功能(后进先出)为了实现栈的后进先出功能,选择链表的头节点(head)比较好操作,入栈和出栈操作如下:入栈---push(item):在链表头部head节点处,完成入栈。 出栈---p...

2020-03-05 10:59:27 191

原创 算法学习记录——简单的 A*寻路实现——>四个方向(JAVA实现)

A*寻路算法——一种寻找从起点A到终点B的有效路径的算法,游戏设计中的角色移动经常会采用这种算法来实现。说明:由于是初学者,对算法的理解还不够透彻,下面的分析过程,只考虑最简单的情况——平面四个方向(上,下,左,右)的搜索。下图中的 S 代表起点(start), E 代表终点(E),中间有填充色的区域为 障碍 ——不可穿过,需绕行。 ...

2020-03-01 15:02:37 2017 1

原创 算法学习记录——LRU(最近最少使用)算法的简单应用实现(JAVA实现)

LRU(最近最少使用)算法的简单应用实现——针对内存的使用情况,防止缓存的溢出问题。import java.util.HashMap;//LRU(最近最少使用)算法的简单应用实现——针对内存的使用情况,防止缓存的溢出问题。//数据结构为--->具有链表功能的哈希表(哈希链表),而且是双向链表。public class LRUCache { private Node he...

2020-02-29 14:05:10 292

原创 算法学习记录——Bitmap位图算法应用(JAVA实现)

Bitmap--->位图算法的应用——适用于大整数的--->去重和查找//Bitmap--->位图算法的应用——适用于大整数的——去重和查找public class TheBitmap { //用long长整形作为存储数据的二进制位,每个占用64bit位,即可以存储64个数据(0——63),也就是每一个words[]就可以表示64个整数。 //words[0]-...

2020-02-29 08:15:59 820

原创 算法学习记录——缺失的整数问题(JAVA实现)

问题的三种情况分析及代码实现——JAVA实现目录问题一:连续数组中找到缺失的那个整数问题问题二:一个连续数组中,其中n-1个正整数出现了偶数次,一个数出现了奇数次,请找出这个奇数次的正整数。问题三:一个连续数组中,其中n-2个正整数出现了偶数次,两个数出现了奇数次,请找出这两个奇数次的正整数。问题一:连续数组中找到缺失的那个整数问题简单思路——先求和,再减法。/...

2020-02-28 10:51:48 402

原创 算法学习记录——挖金矿求最佳收益问题(JAVA实现)

算法学习记录——挖金矿求最佳收益问题(JAVA实现)//挖金矿求最佳收益问题/* * 算法核心思想--->动态规划问题: * 1、确定最优子结构 * 2、确定全局最优解 * 3、确定最优子结构与全局最优解之间的关系 * 4、确定问题边界 *//* * 本题的具体解法分析: * 金矿数---> n(本题中用 g.length 表示) * 工人数---&g...

2020-02-27 16:36:05 505

原创 算法学习记录——大整数相加问题(JAVA实现)

算法学习记录——大整数相加问题(JAVA实现)//大整数相加的问题/* * 算法核心思想: * 用字符串存储大整数 * 将大整数字符串进行倒序后,再进行加法运算,运算按位进行。 * 将计算结果存入strresult[]结果数组中 * 将结果数组进行倒序,这时注意删除高位0 */public class BigDigitAdd { private static Stri...

2020-02-26 15:21:01 230

原创 算法学习记录——删去k个数字后的最小值(JAVA实现)

算法学习记录——删去k个数字后的最小值//问题:一个整数,删除K个数字后的最小值问题//用栈--这种逻辑存储方式解决问题//1、这个整数用字符串进行存储,方便操作——其实跟数组一样,只是为了操作上方便一些。//2、创建一个跟原整数位数一样多的字符数组stack——当作栈来使用,遵循后进先出原则。/*3、算法关键——栈顶的元素stack[top-1]跟整数(字符串nums[i])当前...

2020-02-23 15:01:32 320 1

原创 算法学习记录——寻找全排列的下一个数(JAVA实现)

在一个整数所包含的数字的全部组合中,找到那个大于且仅大于这个整数的那个整数。import java.util.Arrays;//问题:在一个整数所包含的数字的全部组合中,找到那个大于且仅大于这个整数的那个整数。/*分析: * 1、找到逆序区域的边界--->也就是从后向前查找数组得逆序区域(判断逆序区域的方法就是,a[i]>a[i-1]),找到后定位数字置换的边界inde...

2020-02-21 15:33:47 291

原创 算法学习记录——用栈实现队列(JAVA实现)

核心思想就是两个栈,协作实现队列的入队、出队操作详细的分析见代码块import java.util.Stack;//用栈实现队列--->核心思想就是两个栈,协作实现队列的入队、出队操作。public class StackToQueue { //声明两个栈,A作为入队使用,B作为出队使用。 private static Stack<Integer> ...

2020-02-21 11:27:46 131

原创 算法学习记录——无序数组中的最大相邻元素差值(JAVA实现)

利用堆排序原理,在不对原数组进行排序的情况,如何统计出相邻元素的最大差值。//无序数组中元素间的最大相邻差//借助桶排序,实现求一个数组中两个相邻元素的最大相邻差。public class MaxDistance { public static int getMaxSortedDistance(int[] array) { //获得当前无序数组的最大和最小值 int ma...

2020-02-20 16:31:15 719 1

原创 算法学习记录——二叉堆排序(JAVA实现)

对二叉堆(最大堆)进行排序操作——升序操作import java.util.Arrays;//堆排序(最大堆)实现//二叉堆实际是存储在一个数组中public class HeapSort { //“下沉”操作--->当前下沉是要创建一个最大堆,即父节点(小于子节点)下降,最大的元素(子节点)上升。 public static void downAdjust(int...

2020-02-20 15:03:10 141

原创 算法学习记录——二叉堆的创建(JAVA实现)

二叉堆(一个满足特定条件的完全二叉树)相关的内容,比较抽象。import java.util.Arrays;//二叉堆实际就是一个完全二叉树,即最后一个叶子节点前的所有节点都在。//二叉堆存储在数组中。/*二叉堆有两个类型: * 一个是最大堆——任何一个父节点都大于或者等于它左右孩子节点的值, * 一个是最小堆——任何一个父节点都小于或者等于它左右孩子节点的值。 */pu...

2020-02-20 14:21:39 127

原创 算法学习记录——快速排序(单边循环法)(JAVA实现)

算法学习记录——快速排序(单边循环法)(JAVA实现)import java.util.Arrays;public class QuickSortSingleSide { //递归调用快速排序算法 public static void quickSort(int[] array, int startIndex, int endIndex) { if(startIndex&gt...

2020-02-19 14:14:29 493

原创 算法学习记录——快速排序(双边循环法)(JAVA实现)

分治思想——递归实现快速排序算法( Java语言)import java.util.Arrays;//快速排序的递归实现public class QuickSort { //快速排序的递归实现----->双边循环的实现方法 public static int partition(int[] array , int startIndex , int endIndex)...

2020-02-19 10:56:58 449

原创 算法学习记录——判断一个数是否为2的整数次幂(JAVA实现)

//判断一个数是否为2的整数次幂//思路:利用了二进制的位运算。//2的整数次幂的数的特点为10,100,1000,10000等等。//2的整数次幂减1之后的二进制特点为1,11,111,1111等等。//所以这两个数的与运算(&)结果即为 0//即 n&(n-1)=0//时间复杂度为O(1)public class PowerOfTwo { pu...

2020-02-18 13:39:53 263

原创 算法学习记录——判断链表是否有环+求环的长度+求环的入口节点(JAVA实现)

算法学习记录——判断链表是否有环+求环的长度+求环的入口节点 判断链表是否有环 设计两个指针(p1每次移动一个节点,p2每次移动两个节点),即p1=p1.next p2=p2.next.next,如果在移动的过程中,p1和p2有相遇的情况,即p1=p2,就说明此链表有环。 求此链表环的长度 还是利用两个指针(p1每次移动一个节点,p2每次移动两个节点),让...

2020-02-18 11:05:29 342

原创 算法学习记录——求两个整数的最大公约数(java)

**算法学习笔记**//求两个整数的最大公约数public class GreatestCommonDivisor { //求最大公约数方法theGCD(a,b);利用递归调用 //结合了 辗转相除法 和 更相减损术 的各自的优势,同时利用了 移位 运算(a>>1-->a后移1位,即除以2 //// a<<1-->a前移1位,即乘以2...

2020-02-17 14:02:40 289

原创 算法学习记录——最小栈的实现(Java)

文章仅作为自己学习的一个记录,欢迎交流学习经验,共同学习!有不当之处请指正批评!下面的程序涉及到栈的基本操作,借助JAVA中的内置Stack实现,进入程序前,先就本实例中Stack的相关方法进行介绍:push(intelement):入栈操作,将element元素放入栈中。 pop():出栈操作,将当前栈顶元素取出(删除)并返回当前元素。 peek():获取当前栈顶元素,并返回当前元...

2020-02-17 10:35:30 144

原创 javaSE学习笔记——随机点名器

近来上课想做一个随机点名的小软件,刚刚写了一个,望大家指正。import java.io.*;import java.awt.*;import java.awt.event.*;import java.util.List;import java.util.ArrayList;public class DianName extends Frame{ privat

2012-11-11 22:06:39 727

Scratch实现九宫格拼图小游戏.sb3

可以正常玩耍的九宫格拼图小游戏

2021-03-02

空空如也

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

TA关注的人

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