代码编织梦想

LeetBook——链表——反转链表-爱代码爱编程

反转链表 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head = [1,2,3,4,5] 输出:[5,4,3,2,1] 示例 2: 输入:head = [1,2] 输出:[2,1] 示例 3: 输入:head = [] 输出:[] 提示: 链表中节点的数目范围是 [0,

2020-12-30-爱代码爱编程

密码学的英语单词是 Cryptograghy,由希腊单词 Kryptos(隐藏)和 Graphin (写)派生出来,最初代表的意思是用来隐秘的传递信息。 以时间划分,1976年以前的密码算法都属于 古典密码学,古典密码学现在已经很少采用了,然而,研究古典密码的原理对于理解构造和分析现代密码都是十分有益的。古典密码学中最经典的两种算法如下: 替代法 系统地将一

2020-12-28-爱代码爱编程

约瑟夫环–自杀环问题 约瑟夫环问题有着这样的历史: Josephus有过的故事:39 个犹太人与Josephus及他的朋友躲到一个洞中,39个犹太人决定宁愿死也不要被敌人抓。于是决定了自杀方式,41个人排成一个圆圈,由第1个人开始报数,每报数到第3人该人就必须自杀。然后下一个重新报数,直到所有人都自杀身亡为止。然而Josephus 和他的朋友并不想遵从,Jos

389-找不同(饲养员视频笔记)-爱代码爱编程

//给定两个字符串 s 和 t,它们只包含小写字母。 // // 字符串 t 由字符串 s 随机重排,然后在随机位置添加一个字母。 // // 请找出在 t 中被添加的字母。 // // // // 示例 1: // // 输入:s = "abcd", t = "abcde" //输出:"e" //解释:'e' 是那个被添加的字母。 // //

JavaScript 最长公共前缀 力扣 探索字节跳动-爱代码爱编程

编写一个函数来查找字符串数组中的最长公共前缀。 如果不存在公共前缀,返回空字符串 “”。 示例 1: 输入: [“flower”,“flow”,“flight”] 输出: “fl” 示例 2: 输入: [“dog”,“racecar”,“car”] 输出: “” 解释: 输入不存在公共前缀。 说明: 所有输入只包含小写字母 a-z 。 思路:当

算法-中级-爱代码爱编程

滑动窗口 1.假设一个固定大小为w的窗口,一次划过arr,返回每一次划出状况的最大值 例如,arr=[4,3,5,4,3,3,6,7],w=3 返回[5,5,5,4,6,7] import java.util.Arrays; import java.util.LinkedList; public class Main { public s

1.5静态链表的表示与实现-爱代码爱编程

1.5静态链表的表示与实现 静态链表可用一维数组来描述,用游标模拟指针。游标的作用就是指示元素的直接后继。这里的游标的数据类型不是动态链表的指针类型,而是整型数字。 代码实现: SLinkList.h #pragma once #include <stdio.h> #include <stdlib.h> #define L

编程打印如图3-5所示的n*n方阵(算法书上的课后习题)-爱代码爱编程

hello!,你们好今天呢,我给大家写的是书上的一道课后习题,因为老师当时布置的,所以也就完成了 个人感觉和书上的例题是很相似的(算法设计与分析第三版82页),几乎没什么大的改变,如果你没有学会呢,估计是上课没有认真听哦!!,看完我的代码,希望你回去再好好看书加油!少年!别停下脚步!具体的思路呢,也和书上的差不多,小白代码,大神勿喷。 好了 咱们上代码

Java实现七种【排序算法】+图解+完整代码+分析-爱代码爱编程

参考书目:《大话数据结构》 本文涉及的排序算法 一、冒泡排序(优化版)二、简单选择排序三、直接插入排序四、希尔排序五、堆排序六、归并排序(递归版)+归并排序(递归优化版)七、快速排序+快速排序(四度优化版)End.总结 一、冒泡排序(优化版) 0.基本思想:一种交换排序,两两比较相邻记录的关键字,如果反序则交换,直到没有反序的记录位置。

为什么 HashMap 的加载因子是0.75?数学的运用!-爱代码爱编程

作者:sunnylovecmc 来源:https://blog.csdn.net/sunny243788557/article/details/109603806 有很多东西之前在学的时候没怎么注意,笔者也是在重温HashMap的时候发现有很多可以去细究的问题,最终是会回归于数学的,如HashMap的加载因子为什么是0.75? 本文主要对以下内容进行

Leetcode 538 题 把二叉搜索树转换为累加树-爱代码爱编程

题目来源:https://leetcode-cn.com/problems/convert-bst-to-greater-tree/ 个人公众号:小猿君的算法笔记 题目描述 给出二叉搜索树的根节点,该树的节点值各不相同,请你将其转换为累加树(Greater Sum Tree),使每个节点 node 的新值等于原树中大于或等于 node.val 的值之和

我的第一篇博客文章-爱代码爱编程

母牛的故事【Java语言】 题目描述 有一头母牛,它每年年初生一头小母牛。每头小母牛从第四个年头开始,每年年初也生一头小母牛。请编程实现在第n年的时候,共有多少头母牛? 输入 输入数据由多个测试实例组成,每个测试实例占一行,包括一个整数n(0<n<55),n的含义如题目中描述。 n=0表示输入数据的结束,不做处理。 输出 对于每个测试实例

Leetcode73. 矩阵置零(C++思路与代码)-爱代码爱编程

给定一个 m x n 的矩阵,如果一个元素为 0,则将其所在行和列的所有元素都设为 0。请使用原地算法。 示例 1: 输入: [ [1,1,1], [1,0,1], [1,1,1] ] 输出: [ [1,0,1], [0,0,0], [1,0,1] ] 思路: 将每一行每一列的第一个元素设置为标识符,如果为0,那么表示这一行或者这一列有元素0。由于第

JZ59-按之字形顺序打印二叉树-爱代码爱编程

【题目描述】 请实现一个函数按照之字形打印二叉树,即第一行按照从左到右的顺序打印,第二层按照从右至左的顺序打印,第三行按照从左到右的顺序打印,其他行以此类推。 示例 输入输出{8,6,10,5,7,9,11}[[8],[10,6],[5,7,9,11]]【队列】 /* struct TreeNode { int val; struc

1.4双向链表表示与实现-爱代码爱编程

1.4双向链表表示与实现 1、双向链表是指链表中每个结点都有两个指针域,一个指向后继结点,一个指向前驱结点。prior和next. 2、双向链表也分带头和不带头,带头操作更加方便。双向链表也有循环结构,称双向循环链表。 3、带头双向循环链表的判空条件为head->prior==head或head->next==head; 代码实现:

0数组中等 牛客NC.37合并数组 leetcode56. 合并区间-爱代码爱编程

56. 合并区间 问题描述 给出一个区间的集合,请合并所有重叠的区间。 示例 1: 输入: intervals = [[1,3],[2,6],[8,10],[15,18]] 输出: [[1,6],[8,10],[15,18]] 解释: 区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6]. 思路 首先对二维数组排序,创建一个等长二维数

ACM题目 1003: [编程入门]密码破译-爱代码爱编程

## ACM题目 1003: [编程入门]密码破译 题目描述 要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母. 例如,字母"A"后面第4个字母是"E".“E"代替"A”。因此,“China"应译为"Glmre”。 请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为,’C’、’h’、’i’、’

《图解深度学习》学习笔记(六)-爱代码爱编程

第七章 深度学习工具 1、Theano 在学习Theano时,我们必须了解共享变量的概念。由于函数的输入和输出是Python的Numpy数组,所以每次调用这些函数时,GPU都需要将其复制到内存里。如果使用共享变量,GPU就可以从共享变量中获取数据,无须每次都将数据复制到内存里。通过使用共享变量,使用误差反向传播算法等梯度下降法估计参数时,就无须每次

希尔排序-爱代码爱编程

为什么工作之余还要学习算法? 答:没办法,2020互联网卷王成为了年度热词,搞it的人越来越多,也算是为了面试时候的区分度,面试越来越看重算法了,就算是为了工作..... 面试官心里想:面个算法,一个可以不用尬聊,节省时间(大约10分钟,大家都很忙,基本上都是在面试的时候才看面试者的简历,熟悉的流程:先简单自我介绍一下,先写个题吧) 本人

北京大学陈斌老师---计算和控制流上机程序-爱代码爱编程

T1 求1!+2!+,,,+n! # T1方法一 求1!+2!+,,,+n! n = int(input("请输入n")) al = 0 for i in range(1, n+1): b = 1 # 每次都会将b更新 for j in range(1, i+1): b = j*b # i的阶乘 p