E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
【Java算法】
Java算法
之LRUCache缓存实现
实现一个LRU(最近最少使用)缓存可以通过使用HashMap和双向链表来实现。HashMap用于快速查找缓存中的元素,而双向链表用于维护元素的使用顺序实现思路:1.使用HashMap存储键值对,以便快速访问。2.使用双向链表维护元素的使用顺序,最近使用的元素放在链表头部,最少使用的元素放在链表尾部。3.每次访问或插入元素时,将该元素移动到链表头部。4.当缓存容量达到上限时,移除链表尾部的元素。5.
持续输出...
·
2024-09-07 06:59
#
Java
算法
java
算法
缓存
Java算法
之判断平衡二叉树
判断一棵二叉树是否是平衡二叉树(即AVL树)是一个常见的问题。平衡二叉树的定义是:对于树中的每个节点,其左右子树的高度差不超过1。我们可以通过递归的方法来判断一棵二叉树是否是平衡的packagecom.huawei.od.huawei.algorithm;/***@ClassName:IsBalancedBinaryTree是否是平衡二叉树*@Desc:判断一棵二叉树是否是平衡二叉树(即AVL树)
持续输出...
·
2024-09-06 02:01
#
Java
算法
算法
Java算法
之归并排序(Merge Sort)
归并排序简介归并排序是一种采用分治法的排序算法,它将排序问题分解为多个较小的子问题来解决,然后将这些子问题的解合并以得到原问题的解。归并排序以其稳定性和高效率而著称,尤其适用于大数据集的排序。算法原理归并排序的基本步骤包括:分解:将数组递归地分成两半,直到每个子数组只有一个元素。解决:由于每个只有一个元素的子数组自然是有序的,不需要排序。合并:将已排序的子数组合并成更大的有序数组,直到最终得到完全
持续输出...
·
2024-09-01 10:37
#
Java
算法
算法
java
排序算法
Java算法
之冒泡排序(Bubble Sort)
冒泡排序简介冒泡排序是一种基础的排序算法,以其简单性和直观性而著称。它通过重复遍历待排序的数列,比较每对相邻元素,并在必要时交换它们的位置,从而实现排序。算法原理冒泡排序的基本思想是:通过重复遍历整个数组,每次遍历都会将最大的元素“冒泡”到它应该在的位置。这个过程会一直重复,直到整个数组变得有序。代码实现以下是使用Java实现冒泡排序的示例代码:publicclassBubbleSort{publ
持续输出...
·
2024-09-01 10:07
#
Java
算法
算法
java
Java算法
之TimSort
TimSort简介TimSort是一种高效的排序算法,由TimPeters于2002年设计,主要特点是结合了归并排序(MergeSort)和插入排序(InsertionSort)的优点。这种算法在很多编程语言的默认排序函数中得到应用,如Python的sort()和Java的Arrays.sort()。算法原理TimSort的工作原理如下:分解:将待排序数组分解为小的有序序列,每个序列长度为minr
持续输出...
·
2024-09-01 07:20
#
Java
算法
算法
java
排序算法
Java算法
之梳排序(Comb Sort)
梳排序简介梳排序(CombSort)是冒泡排序的一个变种,其核心思想是在比较相邻元素之前先进行更大步长的比较。这种算法的名称来源于其工作方式类似于梳头发时的动作,先大范围地移动,然后逐渐减小移动的步长,直至相邻。算法原理梳排序的工作原理包括以下几个步骤:初始化步长:设置一个初始步长,通常为数组长度的缩放因子,如gap=n/1.3。比较与交换:从数组的开头开始,比较相隔gap个元素的两个数,如果前一
持续输出...
·
2024-09-01 07:14
#
Java
算法
算法
Java算法
之希尔排序(Shell Sort)
简介希尔排序,又称为缩小增量排序,是插入排序的一种改进算法。它通过引入增量序列,将原始数据序列分成多个子序列,对每个子序列进行插入排序,然后逐渐减小增量,直到增量为1,完成整个排序过程。算法步骤选择一个增量序列,例如初始时为数组长度的一半。将数组分为多个子序列,每个子序列的元素间隔为增量序列的第一个值。对每个子序列进行直接插入排序。逐步减小增量序列的值,重复步骤2和3,直到增量为1。//shell
持续输出...
·
2024-08-31 09:04
#
Java
算法
算法
java
排序算法
Java算法
之插入排序(Insertion Sort)
插入排序简介插入排序是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。这个过程像打牌时整理手中的牌一样,逐步将数据排列成有序。算法原理插入排序的工作原理如下:将第一元素视为已排序的序列。从未排序序列中取第一个元素,从已排序序列的末尾开始比较。比较如果已排序序列中的元素比待插入元素大,则将已排序序列的元素向后移动一位。重复步骤3
持续输出...
·
2024-08-31 07:14
#
Java
算法
算法
java
排序算法
Java算法
—— 二分查找(图解、代码展示)
概述:普通查找和二分查找的区别:普通查找:首先要遍历数组,获取每个元素,判断当前遍历的元素是否和要查找的元素相同,相同的话就返回该元素的索引,没找到,手动返回-1二分查找:每一次都要去获取数组的中间索引对应的元素,然后和要查找的元素进行比对。如果相同,返回索引值。如果不同,就比较中间元素和要查找的元素值。1、如果中间元素的值【大于】要查找的元素,说明要查找的元素在左侧,那么就从左侧按照上述思想继续
肥兄
·
2024-08-26 09:37
Java基础算法
二分查找
算法
java
经验分享
Java 最长子串、子序列问题
Java算法
之最长子串、最长公共子序列、最长公共子串、最长回文串1.无重复字符的最长子串(对应力扣题3)给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。
「已注销」
·
2024-08-23 04:16
java
开发语言
后端
比较好的知识点
2023年Java超全面试题及答案解析---https://blog.csdn.net/qq_42301302/article/details/1287852747分钟带你细致解析4个
Java算法
必刷题
hc.Geng
·
2024-03-25 13:01
java
完成所有工作的最短时间(
Java算法
每日一题)
问:给你一个整数数组jobs,其中jobs[i]是完成第i项工作要花费的时间。请你将这些工作分配给k位工人。所有工作都应该分配给工人,且每项工作只能分配给一位工人。工人的工作时间是完成分配给他们的所有工作花费时间的总和。请你设计一套最佳的工作分配方案,使工人的最大工作时间得以最小化。返回分配方案中尽可能最小的最大工作时间。原题链接:https://leetcode.cn/problems/find
万家林
·
2024-02-20 07:42
leetcode
算法
leetcode
Java算法
排序之冒泡/插入/选择/快速、二分查找 - 附动图
1.Java排序:冒泡排序-最简单(1)比较前后相邻的二个数据,如果前面数据大于后面的数据,就将这二个数据交换。(2)这样对数组的第0个数据到N-1个数据进行一次遍历后,最大的一个数据就“沉”到数组第N-1个位置。(3)N=N-1,如果N不为0就重复前面二步,否则排序完成。Java冒泡排序【逻辑】外层0~array[j+1]){//相邻元素,升序//if(array[j]0;j--){//temp
布衣不才Jerry
·
2024-02-14 00:44
java算法
笔记
排序算法冒泡排序冒泡排序是最简单的排序之一了,其大体思想就是通过与相邻元素的比较和交换来把小的数交换到最前面。这个过程类似于水泡向上升一样,因此而得名。举个栗子:对5,3,8,6,4这个无序序列进行冒泡排序。1.首先从后向前冒泡,4和6比较,把4交换到前面,序列变成5,3,8,4,6。2.同理4和8交换,变成5,3,4,8,6,3和4无需交换。3.5和3交换,变成3,5,4,8,6,3.这样一次冒
倔强青铜弟中弟
·
2024-02-13 08:03
华为OD机试 - 数组去重和排序(Java)
Java算法
源码importjava.util.HashMap;im
程序员阿甘
·
2024-02-11 21:29
Java
华为OD机试AB卷
华为od
java
算法
CISC 223
java算法
分析
CISC223-Assignment2(Winter2024)Due:ThursdayFebruary8,2:00PMRegulationsonassignments•Theassignmentsaregradedaccordingtothecorrectness,precisenessandlegibilityofthesolutions.Allhandwrittenparts,includin
·
2024-02-11 18:30
后端
Java算法
练习4
Java算法
练习41.1[145.二叉树的后序遍历](https://leetcode.cn/problems/binary-tree-postorder-traversal/)1.2[173.二叉搜索树迭代器
It_张
·
2024-02-09 08:10
算法练习
Java
java
算法
开发语言
Java算法
leetcode简单刷题记录11
Java算法
leetcode简单刷题记录11删除排序链表中的重复元素:https://leetcode.cn/problems/remove-duplicates-from-sorted-list/合并俩个有序数组
程序媛一枚~
·
2024-02-04 00:54
JAVA
算法
算法
java
leetcode
LeetCode题解
java算法
: 83. 删除排序链表中的重复元素
存在一个按升序排列的链表,给你这个链表的头节点head,请你删除所有重复的元素,使每个元素只出现一次。返回同样按升序排列的结果链表。示例1:输入:head=[1,1,2]输出:[1,2]示例2:输入:head=[1,1,2,3,3]输出:[1,2,3]链表解题思路:/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*Li
神石石
·
2024-02-01 05:31
Leecode
数据结构和算法
链表
leetcode
java
算法
数据结构
Java算法
leetcode简单【树的遍历,深度计算及比较】刷题记录
Java算法
leetcode简单【树的遍历,深度计算及比较】刷题记录俩数之和:https://leetcode.cn/problems/two-sum/二进制求和:https://leetcode.cn
程序媛一枚~
·
2024-01-31 21:53
JAVA
算法
算法
java
leetcode
2024年Java实战面试题
高阶篇:2024年Java高阶面试题-CSDN博客算法篇:2024年
Java算法
面试题-CSDN博客基础篇:2024年Java基础面试题-CSDN博客原理篇:2024年Java原理面试题-CSDN博客搭建篇
内卷成仙
·
2024-01-31 02:10
2024年Java面试题
java
面试
spring
cloud
开发语言
Java面试题
2024年
Java算法
面试题
2024年Java实战面试题(北京)_java5年面试-CSDN博客一、波菲那契递归System.out.println("banc="+banc(10))publicstaticintbanc(intn){if(n==0){return0;}elseif(n==1){return1;}else{returnbanc(n-1)+banc(n-2);}}二、冒泡排序publicstaticvoids
内卷成仙
·
2024-01-31 02:10
2024年Java面试题
算法
java
排序算法
Java面试题
Java算法
leetcode简单刷题记录9
Java算法
leetcode简单刷题记录9购买俩块巧克力:https://leetcode.cn/problems/buy-two-chocolates/给定数组量并不大,因此也可以不用PriorityQueue
程序媛一枚~
·
2024-01-29 17:04
JAVA
算法
算法
java
leetcode
Java算法
leetcode简单刷题记录8
Java算法
leetcode简单刷题记录8找出不同元素数目差数组:https://leetcode.cn/problems/find-the-distinct-difference-array/保龄球游戏的获胜者
程序媛一枚~
·
2024-01-29 17:34
JAVA
算法
算法
java
leetcode
Java算法
leetcode简单刷题记录10
Java算法
leetcode简单刷题记录10庆祝一下:大概花费了9天,我把所有leetcodeJava的简单题都刷完了,接下来开始冲刺中等和复杂;简单题里用到的比较多的是字符串的处理,转换,拆分,替换,
程序媛一枚~
·
2024-01-29 17:34
JAVA
算法
算法
java
leetcode
Java算法
---递归算法基础介绍
目录一、递归算法二、递归算法的典型例子(1)阶乘(2)二分查找(3)冒泡排序(4)插入排序一、递归算法计算机科学中,递归是一种解决计算问题的方法。其中解决方案取决于同一类问题的更小子集。说明如下。(1)自己调用自己,如果说每个函数对应着一种解决方案,自己调用自己意味着解决方案是一样的(有规律的)(2)每次调用,函数处理的数据会较上次缩减(子集),而且最后会缩减至无须继续递归。(3)内层函数调用(子
菜到极致就是渣
·
2024-01-29 09:02
Java算法
算法
java
java算法
之简单的矩阵螺旋式遍历Spiral Matrix
转载自:http://blog.csdn.net/ylyg050518/article/details/48547619继续看一个与数组操作相关的算法,这道题目给我们提供了一个遍历二维数组的新方式——螺旋式遍历。问题描述原文:Givenamatrixofm×nelements(mrows,ncolumns),returnallelementsofthematrixinspiralorder.For
Tomes_V_White
·
2024-01-27 20:42
java
算法
Java算法
练习题
目录有效的数独单词拆分动态规划题型dp难点如果想要将列表中的所有字符串连接成一个单一的字符串,可以使用stream().collect()和joining()方法获取列表中的第一个字符串有效的数独publicclassIsShuDu{publicbooleanisValiduku(char[][]board){boolean[][]rowUsed=newboolean[9][9];boolean[
wsrfsg
·
2024-01-26 23:27
Java算法练习
java
算法
数据结构
动态规划
Java算法
leetcode简单刷题记录6
Java算法
leetcode简单刷题记录6环和杆:https://leetcode.cn/problems/rings-and-rods/统计范围内的元音字符串数:https://leetcode.cn
程序媛一枚~
·
2024-01-26 09:57
JAVA
算法
算法
java
leetcode
Java算法
leetcode简单刷题记录7
Java算法
leetcode简单刷题记录7最长奇偶子数组:https://leetcode.cn/problems/longest-even-odd-subarray-with-threshold/有的题看着不难
程序媛一枚~
·
2024-01-26 09:21
算法
JAVA
算法
java
leetcode
JAVA算法
API-Arrays
目录方法演示:针对于最后一个方法:内部逻辑:操作数组的工具类内部方法几乎都是静态修饰的,因此直接类名调用即可方法演示://1.toStringint[]arr={1,2,5,3,4};System.out.println(Arrays.toString(arr));//[1,2,5,3,4]//2.binarysearch(二分法查找元素)System.out.println(Arrays.bin
成果、
·
2024-01-24 07:04
算法
java
排序算法
JAVA算法
-查找
目录基本查找*:二分查找*:数据单调递增:数据单调递减:总结规律:插值查找*:斐波那契查找(了解原理):以后补分块查找*:特殊情况(无规律的数据):以上小结:哈希查找(了解原理):以后补树表查找(涉及数据结构):以后补基本查找*:也叫线性查找,从头到尾依次遍历示例:需求1:定义一个方法利用基本查找,查询某个元素在数组中是否存在publicstaticvoidmain(String[]args){i
成果、
·
2024-01-24 07:33
java
算法
开发语言
JAVA算法
—排序
目录*冒泡排序:*选择排序:插入排序:快速排序:总结:以下全部以升序为例*冒泡排序:引用:在完成升序排序时,最大的元素会经过一轮轮的遍历逐渐被交换到数列的末尾,就像气泡从水底慢慢升到水面的过程。这个过程会重复进行,直到整个序列有序,即没有更多的“气泡”需要“上浮”。步骤(针对于升序):从0索引开始向后,相邻元素两两相比(索引0和1、1和2),小的放在左,大的放在右。如上面动图,在最大的数放置在最右
成果、
·
2024-01-24 07:00
算法
java
排序算法
Java算法
leetcode简单刷题记录3
Java算法
leetcode简单刷题记录3汇总区间:https://leetcode.cn/problems/summary-ranges/把数据按照是否连续分组输出主要是n
程序媛一枚~
·
2024-01-23 06:59
JAVA
算法
java
leetcode
开发语言
Java算法
leetcode简单刷题记录5
Java算法
leetcode简单刷题记录5老人的数目:https://leetcode.cn/problems/number-of-senior-citizens/substring(a,b)前闭后开统计能整除数字的位数
程序媛一枚~
·
2024-01-23 06:59
JAVA
算法
算法
java
leetcode
Java算法
leetcode简单刷题记录2
Java算法
leetcode刷题记录2最后一个字母长度:https://leetcode.cn/problems/length-of-last-word/str.trim()去掉开头结尾空格;不会去掉中间空格
程序媛一枚~
·
2024-01-23 06:29
JAVA
算法
算法
java
leetcode
Java算法
leetcode简单刷题记录4
Java算法
leetcode简单刷题记录4买卖股票的最佳时机:https://leetcode.cn/problems/best-time-to-buy-and-sell-stock/笨办法:记录当天的值及之后的最大值
程序媛一枚~
·
2024-01-23 06:22
JAVA
算法
算法
java
leetcode
java算法
讲解_关于java:算法讲解|贪心算法的理解与分析
贪婪算法Part1贪婪算法简介贪婪算法是从某一个初始状态登程,每次通过选取部分最优解向指标后退,并最终冀望获得整体最优解的一种算法。由这个定义可知,贪婪抉择规范就是抉择“以后最好”的决策,贪婪算法依据这个规范进行决策,将原问题变成一个类似但规模更小的子问题,而后每一步选出来的肯定是原问题整体最优解的一部分。如果一个问题贪婪后只剩下一个子问题且有最优子结构,那么该问题就能够应用贪婪算法。当一个问题的
steaven lee
·
2024-01-18 21:31
java算法讲解
Java算法
题常用API整理总结
1.栈和队列LinkedList使用push插入元素时【栈】,头部元素peek为栈顶元素使用addLast插入元素时,头部元素peek为队首元素通常创建一个对象专精一个数据结构,不要串用1.1栈常用方法//栈顶插入元素push(ele)//返回栈顶元素并弹出pop()//返回栈顶元素但不弹出peek()1.2队列常用方法//头插addFirst(ele)//尾插addLast(ele)//获取队列
Infinity_and_beyond
·
2024-01-17 16:51
#
数据结构与算法
eclipse
java
算法
数据结构
(十)
Java算法
:归并排序(详细图解)
目录一、前言1.1、概念1.2、算法原理二、maven依赖三、流程解析3.1、整体流程图3.2、合并流程图四、编码实现一、前言1.1、概念 归并排序:是建立在归并操作上的一种有效的排序算法。该算法是采用分治法(DivideandConquer)的一个非常典型的应用。1.2、算法原理 我们大概讲一下算法的原理。申请一个和原数组同样大小的空间,降低空间复杂度将一个要排序的序列从中间位置(left+
嘉禾嘉宁papa
·
2024-01-17 07:31
Java常用算法
算法
java
归并排序算法
华为OD机试真题(Java),四则运算(100%通过+复盘思路)
目录一、题目描述二、输入描述三、输出描述四、解题思路五、
Java算法
源码六、效果展示华为OD机试2023B卷题库疯狂收录中,刷题点这里一、题目描述输入一个表达式(用字符串表示),求这个表达式的值。
哪 吒
·
2024-01-15 05:52
java
算法
开发语言
Java算法
_在排序数组中查找元素的第一个和最后一个位置(LeetCode_Hot100)
题目描述:给你一个按照非递减顺序排列的整数数组nums,和一个目标值target。请你找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值target,返回[-1,-1],设计并实现时间复杂度为O(logn)的算法解决此问题。获得更多?算法思路:代码文档,算法解析的私得。完整代码/***2*@Author:LJJ*3*@Date:2023/7/2111:27*4*/`在这里插入代码片
佳-Mr.Li
·
2024-01-14 01:10
算法
java
leetcode
聊聊
Java算法
的时间复杂度
参考o(1),o(n),o(logn),o(nlogn)_o(1)-CSDN博客算法时间复杂度的表示法O(n²)、O(n)、O(1)、O(nlogn)等是什么意思?-CSDN博客在描述算法复杂度时,经常用到o(1),o(n),o(logn),o(nlogn)来表示对应算法的时间复杂度,这里进行归纳一下它们代表的含义:这是算法的时空复杂度的表示。不仅仅用于表示时间复杂度,也用于表示空间复杂度。O后面
齐天qaq
·
2024-01-06 18:58
J2SE
算法
阿里巴巴集团 (杭州) 2023 Java 一年工作经验秋招 (笔、一、二、三 )面面经
base:杭州当前语言:Java面试语言:
Java算法
:LC400+有自研框架笔试:(2023-09-1816:00)50min//评测题目://在任意元素组成的数组里,输出所有满足a+b+c=xy的组合
鬼客
·
2024-01-02 13:31
面经
java
开发语言
DFS深度优先算法
java算法
我学习算法,按照老师给的算法弄的……利用eclipse编程完成时间2014年11月24日packageDNFParkge;//求DNF的深度优先递归算法publicclassDNFSreach{/***这里是文档说明*算法如下*开始*Start;**procedureDFS_visit(G,u)*color[u]=Gray;//白色结点u已被发现*foreachedge(u,v)do*ifco
YuYunTan
·
2024-01-01 07:13
Java
Java程序设计
java
实现
算法
dfs
递归算法
地图格子 java_地图纠偏
java算法
packagecom.hgq.correct;/***经纬度纠偏工具类*[一句话功能简述]*[功能详细描述]*@authorPeiYu*@version1.0,2012-8-24*@see*@sincegframe-v100*/publicclassMapFix{privatedoublecasm_f=0.0;privatedoublecasm_rr=0.0;privatedoublecasm_t
weixin_39703561
·
2023-12-30 23:31
地图格子
java
Java算法
练习3
Java算法
练习312.25[面试题03.05.栈排序](https://leetcode.cn/problems/sort-of-stacks-lcci/)12.26[150.逆波兰表达式求值](https
It_张
·
2023-12-30 04:20
算法练习
java
算法
开发语言
Java算法
和数据结构面试问题
1.数组面试问题数组是最基本的数据结构,它将元素存储在连续的内存位置。这也是采访者的一个主要话题,你会在任何编码访谈中听到很多关于数组的问题,例如反转数组,排序数组或搜索数组中的元素。如何在给定的1到100的整数数组中找到缺失的数字?如何在给定的整数数组上找到重复的数字?如何在未排序的整数数组中找到最大和最小的数字?你如何找到所有对的整数数组,其总和等于给定的数字?如果数组包含多个重复项,如何在数
daysting
·
2023-12-26 15:15
华为OD机试 - 最少面试官数 - 深度优先搜索dfs(Java 2023 B卷 200分)
目录专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出3、说明四、解题思路1、核心思路:2、具体步骤五、
Java算法
源码六、效果展示1、输入按照面试的开始时间升序排序,如果开始时间相同,按照结束时间的升序排序
哪 吒
·
2023-12-25 12:16
搬砖工逆袭Java架构师
华为od
深度优先
java
七日集训
学习
华为OD机试 - 学生方阵 - 矩阵(Java 2023 B卷 200分)
目录专栏导读一、题目描述二、输入描述三、输出描述1、输入2、输出四、解题思路1、题目解析2、解体思路五、
Java算法
源码再重新读一遍题目,看看能否优化一下~六、效果展示1、输入2、输出3、说明华为OD机试
哪 吒
·
2023-12-25 12:45
搬砖工逆袭Java架构师
华为od
java
算法
七日集训
学习
程序人生
上一页
1
2
3
4
5
6
7
8
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他