- 博客(40)
- 收藏
- 关注
原创 十大排序算法Java实现及时间复杂度
每一步将一个待排序的元素,按照排序码的大小,插入到前面已经排好序的一组元素的适当位置上去,直到元素全部插入为主。根据特性把根节点拿出来,然后再堆化下,即用父节点和他的孩子节点进行比较,取最大的孩子节点和其进行交换,通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再从剩余的未排序元素中寻找最小/最大元素,放在已排序的序列的末尾,从待排序的数据元素中找出最小或最大的一个元素,存放在序列的起始位置,堆是一种完全二叉树的数据结构,可以分为大根堆,小根堆。
2023-10-10 17:07:10 1112
原创 【牛客网-面试必刷TOP101】二分查找题目
有一个长度为 n 的非降序数组,比如[1,2,3,4,5],将它进行旋转,即把一个数组最开始的若干个元素搬到数组的末尾,变成一个旋转数组,比如变成了[3,4,5,1,2],或者[4,5,1,2,3]这样的。请问,给定这样一个旋转数组,求数组中的最小值。如[left,right] 划分为[left,mid] [mid,right],如果nums[left] > nums[mid],证明 [left, mid]区间已经不符合非降序数组的要求了,所以这个区间旋转之后变成无序的,最小值在这里面寻找;
2023-10-02 22:05:52 528
原创 【LeetCode-面试经典150题-day23】
108. 将有序数组转换为二叉搜索树148.排序链表427.建立四叉树23.合并K个升序链表
2023-09-11 16:57:10 375 1
原创 【LeetCode-面试经典150题-day21】
题意:给定一个三角形triangle,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。在这里指的是与相同或者等于的两个结点。也就是说,如果正位于当前行的下标i,那么下一步可以移动到下一行的下标i或i + 1。【输入样例】triangle = [[2],[3,4],[6,5,7],[4,1,8,3]]【输出样例】11解题思路:1. 定义一个新的二维list,list[j][i]表示在第j行中,下标为i处得到的最小路径和为多少。
2023-09-04 15:34:05 769
原创 【LeetCode-面试经典150题-day17】
173.二叉搜索树迭代器222.完全二叉树的节点个数199.二叉树的右视图637.二叉树的层平均值102.二叉树的层序遍历103.二叉树的锯齿形层次遍历
2023-08-29 14:30:23 584
原创 【LeetCode-面试经典150题-day16】
题意:给你二叉树的根结点rootTreeNoderightnull【输入样例】【输出样例】[1,null,2,null,3,null,4,null,5,null,6]解题思路:先序遍历的顺序是:根 左右,使用链表先存储先序遍历的节点顺序,之后遍历链表,更新每个节点的左右指针。时间: 击败了21.30%内存: 击败了92.42%解题思路2:边遍历边展开,每一次都把右子树接到左子树的最右边节点,然后把当前节点的左子树插入到右子树上。时间: 击败了100.00%内存: 击败了62.48%
2023-08-28 21:09:54 379
原创 【LeetCode-面试经典150题-day15】
题意:给定一个二叉树root,返回其最大深度。二叉树的是指从根节点到最远叶子节点的最长路径上的节点数。【输入样例】【输出样例】3解题思路:递归时间: 击败了100.00%内存: 击败了36.81%
2023-08-26 16:40:23 762
原创 【LeetCode-面试经典150题-day14】
19.删除链表的倒数第N个结点82.删除排序链表中的重复元素Ⅱ61. 旋转链表86.分隔链表146.LRU缓存
2023-08-25 15:27:57 968
原创 【LeetCode-面试经典150题-day13】
题意:给你一个链表的头节点head,判断链表中是否有环。如果链表中有某个节点,可以通过连续跟踪next指针再次到达,则链表中存在环。为了表示给定链表中的环,评测系统内部使用整数pos来表示链表尾连接到链表中的位置(索引从 0 开始)。pos。仅仅是为了标识链表的实际情况。如果链表中存在环,则返回true。否则,返回false。【输入样例】【输出样例】true解题思路:哈希表1. 用哈希表存储所有已经访问果的节点;2.每到一个节点时,如果该节点已经存在于哈希表中,则说明该链表是环形链表;
2023-08-24 22:26:33 539
原创 【LeetCode-经典面试150题-day12】
题意:给定一个只包括'('')''{''}''['']'的字符串s,判断字符串是否有效。【输入样例】s="({})"【输出样例】true解题思路:经典的栈思想,用数组模拟栈,从头开始遍历字符串,遇到左括号进栈,遇到右括号弹出栈顶,并匹配,看是否能匹配上,如果匹配不上直接return false;时间: 击败了50.23%内存: 击败了28.36%题意:给你一个字符串path,表示指向某一文件或目录的 Unix 风格(以'/'开头),请你将其转化为更加简洁的规范路径。
2023-08-22 22:42:02 488
原创 【LeetCode-经典面试150题-day11】
题意:给定一个未排序的整数数组nums,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。请你设计并实现时间复杂度为O(n)的算法解决此问题。【输入样例】【输出样例】4解释:最长数字连续序列是[1,2,3,4]解题思路:哈希表1. 使用set,set不包含重复元素;因此我们先将nums中的元素存入到set中,实现一个去重效果。
2023-08-21 17:30:18 429
原创 【LeetCode-经典面试150题-day10】
题意:给定两个字符串s和t,编写一个函数来判断t是否是s的字母异位词。若s和t中每个字符出现的次数都相同,则称s和t互为字母异位词【输入样例】【输出样例】true解题思路:比较简单,定义一个数组来记录两个字符串中的字母出现次数数组alphaNum初始化为0,一个字符串负责对其++,一个对齐--如果是字母异位词,最后alphaNum的值肯定还是全0时间: 击败了82.24%内存: 击败了71.71%
2023-08-20 16:34:56 388
原创 【LeetCode-经典面试150题-day9]
题意:请你判断一个9 x 9的数独是否有效。只需要,验证已经填入的数字是否有效即可。1-91-91-93x3'.'【输入样例】board =【输出样例】true解题思路:1. 按行和按列都比较简单,用一个二维数组a[i][num]来存储第i行/列中num出现的次数,num的取值范围是1~9;2. 每个3×3的小九宫格,用三维数组来实现,matrix[i][j][num]表示的是三维数组中,第i行第j列这个九宫格中,num出现的次数。
2023-08-19 20:02:07 672
原创 【LeetCode-经典面试150题-day8】
题意:给定一个长度为n的整数数组height。有n条垂线,第i条线的两个端点是(i, 0)和。找出其中的两条线,使得它们与x轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。你不能倾斜容器。【输入样例】【输出样例】49解题思路:转换成求长方形的最大面积1.双指针i,j分别指向数组的头和尾,i和j之间的距离为长方形的长2. 长方形的高为min(height[i],height[j]),3.定义一个变量来存储能找到的最大面积开干时间: 击败了59.09%
2023-08-18 16:57:16 199
原创 【LeetCode-面试经典150题-day7】
题意:给定字符串和,判断是否为的子序列。字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是"abcde"的一个子序列,而"aec"不是)。【输入样例】【输出样例】true解题思路:双指针枚举时间: 击败了88.73%内存: 击败了86.35%
2023-08-17 21:22:05 129
原创 【LeetCode-面试经典150题-day6】
题意:编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串""。【输入样例】【输出样例】"fl"解题思路:横向扫描,依次遍历字符串数组中的每个字符串,对于每个遍历到的字符串,更新最长公共前缀,当遍历完所有的字符串后,即可得到字符数组中的最长公共前缀;时间: 击败了100.00%内存: 击败了97.06%解题思路:二分查找,最长公共前缀的长度不会超过字符串数组中的最短字符串的长度。
2023-08-16 16:19:27 215
原创 【LeetCode-面试经典150题-day4】
题意:给你一个整数数组citations,其中表示研究者的第i篇论文被引用的次数。计算并返回该研究者的 h。根据维基百科上h代表“高引用次数” ,一名科研人员的h是指他(她)至少发表了h篇论文,并且每篇论文被引用h次。如果h有多种可能的值,h是其中最大的那个。
2023-08-11 22:01:03 187
原创 【LeetCode-面试经典150题-day3】
题意:给定一个整数数组nums,将数组中的元素向右轮转k个位置,其中k是非负数。【输入样例】【输出样例】解题思路1:直接暴力创建一个新的数组,通过寻找下标的转换规律将轮状后的数组存入临时数组,再将值赋给原数组,因为题目中没有要求返回值,判断的标准还是原数组的最终结果。注意:临时数组跟原数组的下标关系是nums1[i+k] = nums[i],这边需要判断是否超出nums.length-1时间: 击败了61.17%内存: 击败了94.69%
2023-08-10 15:25:34 195
原创 【LeetCode-面试经典150题-day2】
nums[j]时,证明一个新的元素被找到,要将其赋值给“新”数组时,要先将j进行++(挪位置),不然会覆盖掉原先的不重复元素。2.利用变量count统计同一元素出现的次数,定义变量maxCount存储当前出现次数最多的元素。3.遍历数组,遇到相同的+1,遇到不同的减-1,减到0重新开始计数。【输入样例】nums=[0,0,1,1,1,2,2,3,3,4]【输出样例】5,nums=[0,1,2,3,4]【输入样例】nums=[1,1,1,2,2,3]【输出样例】5,nums=[1,1,2,2,3]
2023-08-09 23:58:36 169
原创 【LeetCode-面试经典150题-day1】
3.遍历数组,遇到val值时,total++,并利用temp变量将num[i]与num[j]进行交换,注意交换后j--;【输入样例】nums1=[1,2,3,0,0,0],m=3,nums2=[2,5,6],n=3。解题思路:比较笨拙的方法,从数组的末端开始比较,找到较大值存储在最后面。解题思路:不使用额外的数组空间,O(1)额外空间原地修改数组。元素的顺序可以改变。【输入样例】nums=[3,2,2,3],val=3。最终,合并后数组不应由函数返回,而是存储在数组。的元素,并返回移除后数组的新长度。
2023-08-09 00:00:03 198
原创 机器学习笔记--卷积神经网络之AlexNet
前言2012年,AlexNet横空出世,这个模型的名字来源于论文第一作者的姓名Alex Krizhevsky。AlexNet 使⽤了 8 层卷积神经⽹络,并以很⼤的优势赢得了 ImageNet 2012 图像识别挑战赛冠军。1 AlexNet网络结构Alexnet模型由5个卷积层和3个池化Pooling 层 ,其中还有3个全连接层构成。AlexNet 跟 LeNet 结构类似,但使⽤了更多的卷积层和更⼤的参数空间来拟合⼤规模数据集 ImageNet。它是浅层神经⽹络和深度神经⽹络的分界线。
2022-05-05 20:32:07 480
翻译 论文笔记--InfGCN: Identifying influential nodes in complex networks with graph convolutional networks
目录0 摘要1 小白基础知识补充:2 Introduction3 Deep learning model(InfGCN)3.1 构造邻居网络3.2 基于图卷积神经网络的模型3.2.1 输入层3.2.2 FC层3.2.3 输出层和损失函数。3.3 模型预训练4 构造数据集的方法0 摘要复杂网络是普遍存在的,识别复杂网络中有影响的节点是非常关键的。传统的方法有基于中心性的方法和基于机器学习的方法,这些方法只考虑网络结构或节点特征来评价节点的重要性。..
2022-04-13 20:17:57 1700 12
原创 PAT-L1-012 计算指数
真的没骗你,这道才是简单题 —— 对任意给定的不超过 10 的正整数n,要求你输出2n。不难吧?输入格式:输入在一行中给出一个不超过 10 的正整数n。输出格式:在一行中按照格式2^n = 计算结果输出2n的值。输入样例:5输出样例:2^5 = 32代码如下,使用的是C语言,编译器是 clang...
2020-06-05 10:42:09 448
原创 算法学习笔记(1)-leetcode-两数之和-C语言
两数之和给定一个整数数组nums和一个目标值target,请你在该数组中找出和为目标值的那两个整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素不能使用两遍###解题思路直接用两个for循环,遍历数组来判断int*result=(int*)malloc(sizeof(int)*2);用来给result分配两个内存空...
2020-04-17 17:26:59 205
原创 VMware常见网络拓扑结构模式(1)
bridge模式(桥接模式)在VMware中,默认的VMnet0就是桥接模式,在使用桥接模式时,虚拟机可以直接连接到主机所在的外部网络。采用自动获取IP地址的模式,在cmd里面查询虚拟机的IP地址,在主机里面查询自己的IP地址并且可以发现两者是可以互相ping通的。如果在此处发现虚拟机无法ping通本机,可以检查下本机是否开启了防火墙,或是在网络共享中心里面,查看更改高...
2020-03-04 14:46:08 1103
原创 PAT-L1-008 求整数段和 C语言
L1-008求整数段和(10分)给定两个整数A和B,输出从A到B的所有整数以及这些数的和。输入格式:输入在一行中给出2个整数A和B,其中−100≤A≤B≤100,其间以空格分隔。输出格式:首先顺序输出从A到B的所有整数,每5个数字占一行,每个数字占5个字符宽度,向右对齐。最后在一行中按Sum = X的格式输出全部数字的和X。输入样例:-3 8输出样例:...
2020-02-15 22:33:09 390
原创 C语言 个位数统计
给定一个k位整数N=dk−110k−1+⋯+d1101+d0(0≤di≤9,i=0,⋯,k−1,dk−1>0),请编写程序统计每种不同的个位数字出现的次数。例如:给定N=100311,则有 2 个 0,3 个 1,和 1 个 3。输入格式:每个输入包含 1 个测试用例,即一个不超过 1000 位的正整数N。输出格式:对...
2020-02-03 20:08:36 2056
原创 C语言打印三角形,倒三角形,打印沙漏图形
在学习打印沙漏图形之前,我们先学习一下怎么打印正三角形和倒三角形首先,正三角形图案的变化很简单,它是一个等差数列,首项为1,公差为2,并且每一行前面的空格与它是第几行有关,代码如下:#include<stdio.h>int main(){ int n; scanf("%d",&n); for(int i=0;i<n;i++){ ...
2020-02-02 22:13:35 8553
原创 C语言求解由1,2,3,4,四位数字构成的互不相同且无重复数字的四位数
采用多重循环的方式即可,首先明确一共有四个数字供选择,组成的是四位数,那么在个、十、百、千的取值上,就只能有一位是1,一位是2,一位是3,一位是4代码如下:#include<stdio.h>int main(){ //四位数字1,2,3,4可以组成多少位互不相同且无重复数字的四位数 for(int i=1;i<5;i++){ //第一个f...
2020-01-15 21:33:29 3903
原创 js做简易信息聊天
<body><div id="i1"></div><div id="div2"><img src="img/img1.jpg" id="img"><input type="text" id="i2"><inpu
2018-06-25 21:38:11 2059
原创 JS做图片滑动
在界面中做一个关于图片左右滑动的效果。循环切换,可从最后一张右滑到第一张,从第一张左滑到最后一张设置两个按钮<a id="prev" href="javascript:;"><</a><a id="next" href="javascript:;">></a>图片<img id
2018-06-25 17:23:38 4460 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人