- Java算法之LRUCache缓存实现
持续输出...
#Java算法java算法缓存
实现一个LRU(最近最少使用)缓存可以通过使用HashMap和双向链表来实现。HashMap用于快速查找缓存中的元素,而双向链表用于维护元素的使用顺序实现思路:1.使用HashMap存储键值对,以便快速访问。2.使用双向链表维护元素的使用顺序,最近使用的元素放在链表头部,最少使用的元素放在链表尾部。3.每次访问或插入元素时,将该元素移动到链表头部。4.当缓存容量达到上限时,移除链表尾部的元素。5.
- Java算法之判断平衡二叉树
持续输出...
#Java算法算法
判断一棵二叉树是否是平衡二叉树(即AVL树)是一个常见的问题。平衡二叉树的定义是:对于树中的每个节点,其左右子树的高度差不超过1。我们可以通过递归的方法来判断一棵二叉树是否是平衡的packagecom.huawei.od.huawei.algorithm;/***@ClassName:IsBalancedBinaryTree是否是平衡二叉树*@Desc:判断一棵二叉树是否是平衡二叉树(即AVL树)
- Java算法之归并排序(Merge Sort)
持续输出...
#Java算法算法java排序算法
归并排序简介归并排序是一种采用分治法的排序算法,它将排序问题分解为多个较小的子问题来解决,然后将这些子问题的解合并以得到原问题的解。归并排序以其稳定性和高效率而著称,尤其适用于大数据集的排序。算法原理归并排序的基本步骤包括:分解:将数组递归地分成两半,直到每个子数组只有一个元素。解决:由于每个只有一个元素的子数组自然是有序的,不需要排序。合并:将已排序的子数组合并成更大的有序数组,直到最终得到完全
- Java算法之冒泡排序(Bubble Sort)
持续输出...
#Java算法算法java
冒泡排序简介冒泡排序是一种基础的排序算法,以其简单性和直观性而著称。它通过重复遍历待排序的数列,比较每对相邻元素,并在必要时交换它们的位置,从而实现排序。算法原理冒泡排序的基本思想是:通过重复遍历整个数组,每次遍历都会将最大的元素“冒泡”到它应该在的位置。这个过程会一直重复,直到整个数组变得有序。代码实现以下是使用Java实现冒泡排序的示例代码:publicclassBubbleSort{publ
- Java算法之TimSort
持续输出...
#Java算法算法java排序算法
TimSort简介TimSort是一种高效的排序算法,由TimPeters于2002年设计,主要特点是结合了归并排序(MergeSort)和插入排序(InsertionSort)的优点。这种算法在很多编程语言的默认排序函数中得到应用,如Python的sort()和Java的Arrays.sort()。算法原理TimSort的工作原理如下:分解:将待排序数组分解为小的有序序列,每个序列长度为minr
- Java算法之梳排序(Comb Sort)
持续输出...
#Java算法算法
梳排序简介梳排序(CombSort)是冒泡排序的一个变种,其核心思想是在比较相邻元素之前先进行更大步长的比较。这种算法的名称来源于其工作方式类似于梳头发时的动作,先大范围地移动,然后逐渐减小移动的步长,直至相邻。算法原理梳排序的工作原理包括以下几个步骤:初始化步长:设置一个初始步长,通常为数组长度的缩放因子,如gap=n/1.3。比较与交换:从数组的开头开始,比较相隔gap个元素的两个数,如果前一
- Java算法之希尔排序(Shell Sort)
持续输出...
#Java算法算法java排序算法
简介希尔排序,又称为缩小增量排序,是插入排序的一种改进算法。它通过引入增量序列,将原始数据序列分成多个子序列,对每个子序列进行插入排序,然后逐渐减小增量,直到增量为1,完成整个排序过程。算法步骤选择一个增量序列,例如初始时为数组长度的一半。将数组分为多个子序列,每个子序列的元素间隔为增量序列的第一个值。对每个子序列进行直接插入排序。逐步减小增量序列的值,重复步骤2和3,直到增量为1。//shell
- Java算法之插入排序(Insertion Sort)
持续输出...
#Java算法算法java排序算法
插入排序简介插入排序是一种简单直观的排序算法,它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。这个过程像打牌时整理手中的牌一样,逐步将数据排列成有序。算法原理插入排序的工作原理如下:将第一元素视为已排序的序列。从未排序序列中取第一个元素,从已排序序列的末尾开始比较。比较如果已排序序列中的元素比待插入元素大,则将已排序序列的元素向后移动一位。重复步骤3
- Java算法 —— 二分查找(图解、代码展示)
肥兄
Java基础算法二分查找算法java经验分享
概述:普通查找和二分查找的区别:普通查找:首先要遍历数组,获取每个元素,判断当前遍历的元素是否和要查找的元素相同,相同的话就返回该元素的索引,没找到,手动返回-1二分查找:每一次都要去获取数组的中间索引对应的元素,然后和要查找的元素进行比对。如果相同,返回索引值。如果不同,就比较中间元素和要查找的元素值。1、如果中间元素的值【大于】要查找的元素,说明要查找的元素在左侧,那么就从左侧按照上述思想继续
- Java 最长子串、子序列问题
「已注销」
java开发语言后端
Java算法之最长子串、最长公共子序列、最长公共子串、最长回文串1.无重复字符的最长子串(对应力扣题3)给定一个字符串s,请你找出其中不含有重复字符的最长子串的长度。示例1:输入:s="abcabcbb"输出:3解释:因为无重复字符的最长子串是"abc",所以其长度为3。可以使用「滑动窗口」来解决这个问题:我们使用两个指针表示字符串中的某个子串(或窗口)的左右边界,其中左指针代表着窗口的左边界「枚
- 比较好的知识点
hc.Geng
java
2023年Java超全面试题及答案解析---https://blog.csdn.net/qq_42301302/article/details/1287852747分钟带你细致解析4个Java算法必刷题---https://blog.csdn.net/hcxy2022/article/details/12796379750道JAVA基础算法编程题【内含分析、程序答案】---https://blog
- 完成所有工作的最短时间(Java算法每日一题)
万家林
leetcode算法leetcode
问:给你一个整数数组jobs,其中jobs[i]是完成第i项工作要花费的时间。请你将这些工作分配给k位工人。所有工作都应该分配给工人,且每项工作只能分配给一位工人。工人的工作时间是完成分配给他们的所有工作花费时间的总和。请你设计一套最佳的工作分配方案,使工人的最大工作时间得以最小化。返回分配方案中尽可能最小的最大工作时间。原题链接:https://leetcode.cn/problems/find
- Java算法排序之冒泡/插入/选择/快速、二分查找 - 附动图
布衣不才Jerry
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
- 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.这样一次冒
- 华为OD机试 - 数组去重和排序(Java)
程序员阿甘
Java华为OD机试AB卷华为odjava算法
题目描述给定一个乱序的数组,删除所有的重复元素,使得每个元素只出现一次,并且按照出现的次数从高到低进行排序,相同出现次数按照第一次出现顺序进行先后排序。输入描述一个数组输出描述去重排序后的数组用例输入1,3,3,3,2,4,4,4,5输出3,4,1,2,5备注数组大小不超过100数组元素值大小不超过100。题目解析简单的排序问题。Java算法源码importjava.util.HashMap;im
- CISC 223 java算法分析
后端
CISC223-Assignment2(Winter2024)Due:ThursdayFebruary8,2:00PMRegulationsonassignments•Theassignmentsaregradedaccordingtothecorrectness,precisenessandlegibilityofthesolutions.Allhandwrittenparts,includin
- Java算法练习4
It_张
算法练习Javajava算法开发语言
Java算法练习41.1[145.二叉树的后序遍历](https://leetcode.cn/problems/binary-tree-postorder-traversal/)1.2[173.二叉搜索树迭代器](https://leetcode.cn/problems/binary-search-tree-iterator/)1.3[98.验证二叉搜索树](https://leetcode.cn
- Java算法 leetcode简单刷题记录11
程序媛一枚~
JAVA算法算法javaleetcode
Java算法leetcode简单刷题记录11删除排序链表中的重复元素:https://leetcode.cn/problems/remove-duplicates-from-sorted-list/合并俩个有序数组:https://leetcode.cn/problems/merge-sorted-array/int[]数组转List:Arrays.stream(arr).collect(Coll
- LeetCode题解java算法: 83. 删除排序链表中的重复元素
神石石
Leecode数据结构和算法链表leetcodejava算法数据结构
存在一个按升序排列的链表,给你这个链表的头节点head,请你删除所有重复的元素,使每个元素只出现一次。返回同样按升序排列的结果链表。示例1:输入:head=[1,1,2]输出:[1,2]示例2:输入:head=[1,1,2,3,3]输出:[1,2,3]链表解题思路:/***Definitionforsingly-linkedlist.*publicclassListNode{*intval;*Li
- Java算法 leetcode简单【树的遍历,深度计算及比较】刷题记录
程序媛一枚~
JAVA算法算法javaleetcode
Java算法leetcode简单【树的遍历,深度计算及比较】刷题记录俩数之和:https://leetcode.cn/problems/two-sum/二进制求和:https://leetcode.cn/problems/add-binary/classSolution{publicStringaddBinary(Stringa,Stringb){intnumA=a.length();intnum
- 2024年Java实战面试题
内卷成仙
2024年Java面试题java面试springcloud开发语言Java面试题
高阶篇:2024年Java高阶面试题-CSDN博客算法篇:2024年Java算法面试题-CSDN博客基础篇:2024年Java基础面试题-CSDN博客原理篇:2024年Java原理面试题-CSDN博客搭建篇:2024年Java搭建面试题-CSDN博客
- 2024年Java算法面试题
内卷成仙
2024年Java面试题算法java排序算法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
- Java算法 leetcode简单刷题记录9
程序媛一枚~
JAVA算法算法javaleetcode
Java算法leetcode简单刷题记录9购买俩块巧克力:https://leetcode.cn/problems/buy-two-chocolates/给定数组量并不大,因此也可以不用PriorityQueue,每次输出最小值;可以暴力循环classSolution{publicintbuyChoco(int[]prices,intmoney){intsum=Integer.MAX_VALUE;
- Java算法 leetcode简单刷题记录8
程序媛一枚~
JAVA算法算法javaleetcode
Java算法leetcode简单刷题记录8找出不同元素数目差数组:https://leetcode.cn/problems/find-the-distinct-difference-array/保龄球游戏的获胜者:https://leetcode.cn/problems/determine-the-winner-of-a-bowling-game/计数器II:https://leetcode.cn
- Java算法 leetcode简单刷题记录10
程序媛一枚~
JAVA算法算法javaleetcode
Java算法leetcode简单刷题记录10庆祝一下:大概花费了9天,我把所有leetcodeJava的简单题都刷完了,接下来开始冲刺中等和复杂;简单题里用到的比较多的是字符串的处理,转换,拆分,替换,PriorityQueue依次输出最大最小值;走楼梯等动态规划;charAtstartsWithtoLowerCase()replaceAllsplitindexOf进制转换:Integer.val
- Java算法---递归算法基础介绍
菜到极致就是渣
Java算法算法java
目录一、递归算法二、递归算法的典型例子(1)阶乘(2)二分查找(3)冒泡排序(4)插入排序一、递归算法计算机科学中,递归是一种解决计算问题的方法。其中解决方案取决于同一类问题的更小子集。说明如下。(1)自己调用自己,如果说每个函数对应着一种解决方案,自己调用自己意味着解决方案是一样的(有规律的)(2)每次调用,函数处理的数据会较上次缩减(子集),而且最后会缩减至无须继续递归。(3)内层函数调用(子
- java算法之简单的矩阵螺旋式遍历Spiral Matrix
Tomes_V_White
java算法
转载自:http://blog.csdn.net/ylyg050518/article/details/48547619继续看一个与数组操作相关的算法,这道题目给我们提供了一个遍历二维数组的新方式——螺旋式遍历。问题描述原文:Givenamatrixofm×nelements(mrows,ncolumns),returnallelementsofthematrixinspiralorder.For
- Java算法练习题
wsrfsg
Java算法练习java算法数据结构动态规划
目录有效的数独单词拆分动态规划题型dp难点如果想要将列表中的所有字符串连接成一个单一的字符串,可以使用stream().collect()和joining()方法获取列表中的第一个字符串有效的数独publicclassIsShuDu{publicbooleanisValiduku(char[][]board){boolean[][]rowUsed=newboolean[9][9];boolean[
- Java算法 leetcode简单刷题记录6
程序媛一枚~
JAVA算法算法javaleetcode
Java算法leetcode简单刷题记录6环和杆:https://leetcode.cn/problems/rings-and-rods/统计范围内的元音字符串数:https://leetcode.cn/problems/count-the-number-of-vowel-strings-in-range/最长平衡子字符串:https://leetcode.cn/problems/find-the
- Java算法 leetcode简单刷题记录7
程序媛一枚~
算法JAVA算法javaleetcode
Java算法leetcode简单刷题记录7最长奇偶子数组:https://leetcode.cn/problems/longest-even-odd-subarray-with-threshold/有的题看着不难,根据提示往下写,有的case就是死活过不了这道题耗了挺久…classSolution{publicintlongestAlternatingSubarray(int[]nums,intt
- java杨辉三角
3213213333332132
java基础
package com.algorithm;
/**
* @Description 杨辉三角
* @author FuJianyong
* 2015-1-22上午10:10:59
*/
public class YangHui {
public static void main(String[] args) {
//初始化二维数组长度
int[][] y
- 《大话重构》之大布局的辛酸历史
白糖_
重构
《大话重构》中提到“大布局你伤不起”,如果企图重构一个陈旧的大型系统是有非常大的风险,重构不是想象中那么简单。我目前所在公司正好对产品做了一次“大布局重构”,下面我就分享这个“大布局”项目经验给大家。
背景
公司专注于企业级管理产品软件,企业有大中小之分,在2000年初公司用JSP/Servlet开发了一套针对中
- 电驴链接在线视频播放源码
dubinwei
源码电驴播放器视频ed2k
本项目是个搜索电驴(ed2k)链接的应用,借助于磁力视频播放器(官网:
http://loveandroid.duapp.com/ 开放平台),可以实现在线播放视频,也可以用迅雷或者其他下载工具下载。
项目源码:
http://git.oschina.net/svo/Emule,动态更新。也可从附件中下载。
项目源码依赖于两个库项目,库项目一链接:
http://git.oschina.
- Javascript中函数的toString()方法
周凡杨
JavaScriptjstoStringfunctionobject
简述
The toString() method returns a string representing the source code of the function.
简译之,Javascript的toString()方法返回一个代表函数源代码的字符串。
句法
function.
- struts处理自定义异常
g21121
struts
很多时候我们会用到自定义异常来表示特定的错误情况,自定义异常比较简单,只要分清是运行时异常还是非运行时异常即可,运行时异常不需要捕获,继承自RuntimeException,是由容器自己抛出,例如空指针异常。
非运行时异常继承自Exception,在抛出后需要捕获,例如文件未找到异常。
此处我们用的是非运行时异常,首先定义一个异常LoginException:
/**
* 类描述:登录相
- Linux中find常见用法示例
510888780
linux
Linux中find常见用法示例
·find path -option [ -print ] [ -exec -ok command ] {} \;
find命令的参数;
- SpringMVC的各种参数绑定方式
Harry642
springMVC绑定表单
1. 基本数据类型(以int为例,其他类似):
Controller代码:
@RequestMapping("saysth.do")
public void test(int count) {
}
表单代码:
<form action="saysth.do" method="post&q
- Java 获取Oracle ROWID
aijuans
javaoracle
A ROWID is an identification tag unique for each row of an Oracle Database table. The ROWID can be thought of as a virtual column, containing the ID for each row.
The oracle.sql.ROWID class i
- java获取方法的参数名
antlove
javajdkparametermethodreflect
reflect.ClassInformationUtil.java
package reflect;
import javassist.ClassPool;
import javassist.CtClass;
import javassist.CtMethod;
import javassist.Modifier;
import javassist.bytecode.CodeAtt
- JAVA正则表达式匹配 查找 替换 提取操作
百合不是茶
java正则表达式替换提取查找
正则表达式的查找;主要是用到String类中的split();
String str;
str.split();方法中传入按照什么规则截取,返回一个String数组
常见的截取规则:
str.split("\\.")按照.来截取
str.
- Java中equals()与hashCode()方法详解
bijian1013
javasetequals()hashCode()
一.equals()方法详解
equals()方法在object类中定义如下:
public boolean equals(Object obj) {
return (this == obj);
}
很明显是对两个对象的地址值进行的比较(即比较引用是否相同)。但是我们知道,String 、Math、I
- 精通Oracle10编程SQL(4)使用SQL语句
bijian1013
oracle数据库plsql
--工资级别表
create table SALGRADE
(
GRADE NUMBER(10),
LOSAL NUMBER(10,2),
HISAL NUMBER(10,2)
)
insert into SALGRADE values(1,0,100);
insert into SALGRADE values(2,100,200);
inser
- 【Nginx二】Nginx作为静态文件HTTP服务器
bit1129
HTTP服务器
Nginx作为静态文件HTTP服务器
在本地系统中创建/data/www目录,存放html文件(包括index.html)
创建/data/images目录,存放imags图片
在主配置文件中添加http指令
http {
server {
listen 80;
server_name
- kafka获得最新partition offset
blackproof
kafkapartitionoffset最新
kafka获得partition下标,需要用到kafka的simpleconsumer
import java.util.ArrayList;
import java.util.Collections;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.
- centos 7安装docker两种方式
ronin47
第一种是采用yum 方式
yum install -y docker
 
- java-60-在O(1)时间删除链表结点
bylijinnan
java
public class DeleteNode_O1_Time {
/**
* Q 60 在O(1)时间删除链表结点
* 给定链表的头指针和一个结点指针(!!),在O(1)时间删除该结点
*
* Assume the list is:
* head->...->nodeToDelete->mNode->nNode->..
- nginx利用proxy_cache来缓存文件
cfyme
cache
user zhangy users;
worker_processes 10;
error_log /var/vlogs/nginx_error.log crit;
pid /var/vlogs/nginx.pid;
#Specifies the value for ma
- [JWFD开源工作流]JWFD嵌入式语法分析器负号的使用问题
comsci
嵌入式
假如我们需要用JWFD的语法分析模块定义一个带负号的方程式,直接在方程式之前添加负号是不正确的,而必须这样做:
string str01 = "a=3.14;b=2.71;c=0;c-((a*a)+(b*b))"
定义一个0整数c,然后用这个整数c去
- 如何集成支付宝官方文档
dai_lm
android
官方文档下载地址
https://b.alipay.com/order/productDetail.htm?productId=2012120700377310&tabId=4#ps-tabinfo-hash
集成的必要条件
1. 需要有自己的Server接收支付宝的消息
2. 需要先制作app,然后提交支付宝审核,通过后才能集成
调试的时候估计会真的扣款,请注意
- 应该在什么时候使用Hadoop
datamachine
hadoop
原帖地址:http://blog.chinaunix.net/uid-301743-id-3925358.html
存档,某些观点与我不谋而合,过度技术化不可取,且hadoop并非万能。
--------------------------------------------万能的分割线--------------------------------
有人问我,“你在大数据和Hado
- 在GridView中对于有外键的字段使用关联模型进行搜索和排序
dcj3sjt126com
yii
在GridView中使用关联模型进行搜索和排序
首先我们有两个模型它们直接有关联:
class Author extends CActiveRecord {
...
}
class Post extends CActiveRecord {
...
function relations() {
return array(
'
- 使用NSString 的格式化大全
dcj3sjt126com
Objective-C
格式定义The format specifiers supported by the NSString formatting methods and CFString formatting functions follow the IEEE printf specification; the specifiers are summarized in Table 1. Note that you c
- 使用activeX插件对象object滚动有重影
蕃薯耀
activeX插件滚动有重影
使用activeX插件对象object滚动有重影 <object style="width:0;" id="abc" classid="CLSID:D3E3970F-2927-9680-BBB4-5D0889909DF6" codebase="activex/OAX339.CAB#
- SpringMVC4零配置
hanqunfeng
springmvc4
基于Servlet3.0规范和SpringMVC4注解式配置方式,实现零xml配置,弄了个小demo,供交流讨论。
项目说明如下:
1.db.sql是项目中用到的表,数据库使用的是oracle11g
2.该项目使用mvn进行管理,私服为自搭建nexus,项目只用到一个第三方 jar,就是oracle的驱动;
3.默认项目为零配置启动,如果需要更改启动方式,请
- 《开源框架那点事儿16》:缓存相关代码的演变
j2eetop
开源框架
问题引入
上次我参与某个大型项目的优化工作,由于系统要求有比较高的TPS,因此就免不了要使用缓冲。
该项目中用的缓冲比较多,有MemCache,有Redis,有的还需要提供二级缓冲,也就是说应用服务器这层也可以设置一些缓冲。
当然去看相关实现代代码的时候,大致是下面的样子。
[java]
view plain
copy
print
?
public vo
- AngularJS浅析
kvhur
JavaScript
概念
AngularJS is a structural framework for dynamic web apps.
了解更多详情请见原文链接:http://www.gbtags.com/gb/share/5726.htm
Directive
扩展html,给html添加声明语句,以便实现自己的需求。对于页面中html元素以ng为前缀的属性名称,ng是angular的命名空间
- 架构师之jdk的bug排查(一)---------------split的点号陷阱
nannan408
split
1.前言.
jdk1.6的lang包的split方法是有bug的,它不能有效识别A.b.c这种类型,导致截取长度始终是0.而对于其他字符,则无此问题.不知道官方有没有修复这个bug.
2.代码
String[] paths = "object.object2.prop11".split("'");
System.ou
- 如何对10亿数据量级的mongoDB作高效的全表扫描
quentinXXZ
mongodb
本文链接:
http://quentinXXZ.iteye.com/blog/2149440
一、正常情况下,不应该有这种需求
首先,大家应该有个概念,标题中的这个问题,在大多情况下是一个伪命题,不应该被提出来。要知道,对于一般较大数据量的数据库,全表查询,这种操作一般情况下是不应该出现的,在做正常查询的时候,如果是范围查询,你至少应该要加上limit。
说一下,
- C语言算法之水仙花数
qiufeihu
c算法
/**
* 水仙花数
*/
#include <stdio.h>
#define N 10
int main()
{
int x,y,z;
for(x=1;x<=N;x++)
for(y=0;y<=N;y++)
for(z=0;z<=N;z++)
if(x*100+y*10+z == x*x*x
- JSP指令
wyzuomumu
jsp
jsp指令的一般语法格式: <%@ 指令名 属性 =”值 ” %>
常用的三种指令: page,include,taglib
page指令语法形式: <%@ page 属性 1=”值 1” 属性 2=”值 2”%>
include指令语法形式: <%@include file=”relative url”%> (jsp可以通过 include