- 回溯算法-重新安排行程
chirou_
算法数据结构图论c++图搜索
leetcode332.重新安排行程这题我还没自己ac过,只能现在凭着刚学完的热乎劲把我对题解的理解记下来。本题我认为对数据结构的考察比较多,用什么数据结构去存数据,去读取数据,都是很重要的。classSolution{private:unordered_map>targets;boolbacktracking(intticketNum,vector&result){//1.确定参数和返回值//2
- LeetCode46 全排列
红毛乌龟
算法刷题数据结构算法leetcodec++回溯法
前言题目:46.全排列文档:代码随想录——全排列编程语言:C++解题状态:成功解答!思路排列问题综合了之前的回溯问题,但没有新的东西,按部就班回溯就好。代码classSolution{private:vector>res;vectorpath;voidbacktracking(vector&nums,vector&used){if(path.size()==nums.size()){res.pus
- 二刷代码随想录训练营Day 25|491.递增子序列、46.全排列、47.全排列 II、332.重新安排行程、51.n皇后、37.解数独
好名字可以让你的朋友更容易记住你498
算法leetcodec++数据结构
1.递增子序列代码随想录视频讲解:回溯算法精讲,树层去重与树枝去重|LeetCode:491.递增子序列_哔哩哔哩_bilibili代码:classSolution{private:vectorpath;vector>result;voidbacktracking(vector&nums,intstartIndex){if(path.size()>1){result.push_back(path)
- 代码随想录算法训练营Day22 | 491.递增子序列,46.全排列,47.全排列 II ,332. 重新安排行程,51. N皇后,37. 解数独,总结
Yummy Penguin
算法
第七章回溯算法part04491.递增子序列本题和大家刚做过的90.子集II非常像,但又很不一样,很容易掉坑里。代码随想录视频讲解:回溯算法精讲,树层去重与树枝去重|LeetCode:491.递增子序列_哔哩哔哩_bilibili#491classSolution:deffindSubsequences(self,nums):result=[]path=[]self.backtracking(nu
- 力扣 77题 组合 记录
楚洋的小跟班
回溯leetcode算法c++
题目描述给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。示例1:输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]示例2:输入:n=1,k=1输出:[[1]]思路回溯三部曲:确定回溯函数的返回值和参数确定回溯的终止条件确定回溯搜索的遍历过程输入n=4和k=2:初始调用:backtrack(result,c
- LeetCode78 子集
红毛乌龟
算法刷题算法leetcode数据结构c++
前言题目:78.子集文档:代码随想录——子集编程语言:C++解题状态:差一点…思路如果把子集问题、组合问题、分割问题都抽象为一棵树的话,那么组合问题和分割问题都是收集树的叶子节点,而子集问题是找树的所有节点!代码classSolution{private:vector>res;vectorpath;voidbacktracking(vector&nums,intstartIndex){res.pu
- 算法训练营第29天|LeetCode 491.递增子序列 46.全排列 47.全排列Ⅱ
人间温柔观察者
算法leetcode职场和发展
LeetCode491.递增子序列题目链接:LeetCode491.递增子序列解题思路:用哈希集合进行去重,同一树层不能取重复元素。代码:classSolution{public:vector>result;vectorpath;voidbacktracking(vector&nums,intstartIndex){if(path.size()>1){result.push_back(path);
- 力扣HOT100 - 46. 全排列
_OLi_
力扣HOT100算法题合集leetcode算法java
解题思路:回溯假设给定数组nums为[1,2,3],首先将其转换为List类型的output为[1,2,3]。在backtrack方法中,初始时first为0,所以进入第一个for循环,交换output中第一个元素和自身,然后递归调用backtrack方法,此时first为1,再次进入for循环,交换output中第二个元素(即2)和自身。这样得到的output为[1,2,3],添加到结果集中。接
- 回溯 Leetcode 216 组合总和III
mmaerd
Leetcode刷题学习记录leetcode算法职场和发展
组合综合IIILeetcode216学习记录自代码随想录要点:和组合问题相似,但需要多加一个求和;classSolution{private:vectorpath;vector>result;voidbacktracking(intk,intn,intsum,intstartIndex){if(sum>n){//剪枝return;}if(path.size()==k){if(sum==n){res
- LeetCode216 组合总和 III
红毛乌龟
算法刷题数据结构算法leetcodec++
前言题目:216.组合总和III文档:代码随想录——组合总和III编程语言:C++解题状态:成功解答思路组合题的变种,其实是变得更简单了,还是可以使用回溯法来解决。代码回溯法classSolution{private:vector>res;vectorpath;voidbacktracking(intk,intn,intstartIndex){if(path.size()==k){intsum=0
- LeetCode77 组合
红毛乌龟
算法刷题算法数据结构leetcodec++
前言题目:77.组合文档:代码随想录——组合编程语言:C++解题状态:没尝试出来思路经典的组合问题,可以考虑使用回溯法。使用回溯法时可以根据回溯法的模板来考虑如何解决。代码回溯法classSolution{private:vector>res;vectorpath;voidbacktracking(intn,intk,intstartIndex){if(path.size()==k){res.pu
- 代码随想录算法训练营三刷day24 | 回溯算法 之 理论基础 77. 组合
頔枫
算法训练营算法数据结构c++leetcode
三刷day24理论基础77.组合递归函数的返回值以及参数回溯函数终止条件单层搜索的过程理论基础回溯法解决的问题都可以抽象为树形结构。因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度,都构成的树的深度。递归就要有终止条件,所以必然是一棵高度有限的树(N叉树)。回溯三部曲回溯函数模板返回值以及参数在回溯算法中,我的习惯是函数起名字为backtracking,这个起名大家
- [Backtracking/DP]63. Unique Paths II
野生小熊猫
分类:Backtracking/DP时间复杂度:O(n*m)63.UniquePathsIIArobotislocatedatthetop-leftcornerofamxngrid(marked'Start'inthediagrambelow).Therobotcanonlymoveeitherdownorrightatanypointintime.Therobotistryingtoreacht
- Leetcode 77 组合
独影月下酌酒
数据结构Leetcodeleetcode算法数据结构
1.题目描述给定两个整数n和k,返回范围[1,n]中所有可能的k个数的组合。你可以按任何顺序返回答案。输入:n=4,k=2输出:[[2,4],[3,4],[2,3],[1,2],[1,3],[1,4],]1List[List[int]]:res=[]#存储符合条件结果的集合path=[]#用来存放符合条件的结果defbacktrack(n,k,StartIndex):iflen(path)==k:
- 90. 子集 II
南屿欣风
算法数据结构leetcode
给你一个整数数组nums,其中可能包含重复元素,请你返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。返回的解集中,子集可以按任意顺序排列。示例1:输入:nums=[1,2,2]输出:[[],[1],[1,2],[1,2,2],[2],[2,2]]示例2:输入:nums=[0]输出:[[],[0]]提示:1>result;vectorpath;voidbacktracking(vector
- leetcode刷题记录:暴力搜索算法01 - 回溯
小新0077
2024算法工程师求职leetcode算法职场和发展
参考:labuladong的算法小抄https://labuladong.online/algo/essential-technique/backtrack-framework/这篇太牛了,一个模板把所有的排列组合子集问题全秒了。1.简介暴力搜索算法:回溯、dfs、bfs。这些都可以看做是从二叉树算法衍生出来的。解决一个回溯问题,实际上是在遍历一颗决策树的过程。树的每个叶子结点上存着一个答案。把整
- 代码随想录算法训练营第二十九天|* 491.递增子序列 * 46.全排列 * 47.全排列 II
一枚清澈愚蠢的研究生
letcode算法
仅做学习笔记,详细请访问代码随想录491.递增子序列46.全排列47.全排列II491.递增子序列classSolution{private:vector>result;vectorpath;voidbacktrack(vector&nums,intstartindex){if(path.size()>1){result.push_back(path);}unordered_setuset;for
- 代码随想录算法训练营第三十天|● 332.重新安排行程 ● 51. N皇后 ● 37. 解数独 ● 总结
一枚清澈愚蠢的研究生
letcode算法java数据结构
仅做学习笔记,详细请访问代码随想录●332.重新安排行程●51.N皇后●37.解数独●总结●332.重新安排行程classSolution{private://unordered_map>targetsunordered_map>targets;boolbacktracking(intticketNum,vector&result){if(result.size()==ticketNum+1){r
- 代码随想录算法训练营Day30 | 332.重新安排行程、51.N 皇后、37.解数独
Y_Vollerei
算法
332.重新安排行程这题按自己的思路写了一版,但最后一个测试用例进入了死循环,捋了半天没想明白原因,先放在这吧。大致思路就是通过当前机票的to搜索下一张机票的from,使用过的机票在used数组中进行标记。vectorans;vectorpath={"JFK"};boolsolved=false;voidbacktracking(vector&used,vector>&tickets){if(pa
- 代码随想录算法训练营Day29 | 491.非递减子序列、46.全排列、47.全排列 II
Y_Vollerei
算法数据结构
491.非递减子序列这题不能对原序列进行排序,想了半天最后还是用回了set来去重。其他方面与之前题型差不多,按模板写即可。判断子序列是否递增只需要将当前元素与path尾元素对比即可。vector>ans;vectorpath;voidbacktracking(intstartIndex,vector&nums){if(path.size()>=2)ans.push_back(path);//每层设
- 随想录Day24--回溯算法第一战77. 组合
石头走到哪里还是石头
动态规划算法java
回溯是比递归更让人头疼的事件,因为在递归的过程中还需要值的处理。在卡尔的视频中给出了回溯的模板,也就是对应的关键在于回溯撤销处理结果。这道题的坑在于你要去感受值的添加和删除,以及怎么去变化得。画图头脑风暴感觉有点不够用了,但是模拟一遍可以更加体会到回溯的精髓。有一个需要注意的点在于回溯过程中,backtracking(n,k,i+1);第三个参数的i+1,我一开始用的index+1,index是上
- Day27|Leetcode 39. 组合总和 Leetcode 40. 组合总和 II Leetcode131. 分割回文串
吼吼848
leetcode算法职场和发展
Leetcode39.组合总和题目链接39组合总和本题目和前面的组合问题差不多,只不过这里能重复选取数字,还是要注意组合的定义,交换数字顺序还是算一个组合,所以这里还是用我们的startIndex来记录取的数字到哪里了,下面上代码:classSolution{private:vectorpath;vector>result;voidbacktracking(vector&candidates,in
- 算法训练Day27|LeetCode 39. 组合总和、40.组合总和II、131.分割回文串
Walter.C
算法leetcode数据结构c++力扣
题目链接:39.组合总和classSolution{private:vector>result;vectorpath;voidbacktracking(vector&candidates,inttarget,intsum,intstartIndex){if(sum==target){result.push_back(path);return;}//如果sum+candidates[i]>targe
- 代码随想录算法训练营第二十八天|93.复原IP地址、78.子集、90.子集II
remember_me.
代码随想录回溯算法Java子集问题
93.复原IP地址题目链接:93.复原IP地址我的思路用的是和气割回文串一样的思路,先保存子穿,然后拼接之后再加入,与代码随想录里的方法有所不同。代码classSolution{Listresult=newArrayListtemp=newArrayListrestoreIpAddresses(Strings){backtracking(s,0);returnresult;}publicvoidb
- 代码随想录day21 Java版
洒水水儿
代码随想录打卡算法
过完年开始刷回溯算法,寒假在家时间多点,争取每天多刷点题回溯的本质是穷举,穷举所有可能,然后选出我们想要的答案。通常是解决复杂的题。回溯法解决的问题都可以抽象为树形结构,因为回溯法解决的都是在集合中递归查找子集,集合的大小就构成了树的宽度,递归的深度,都构成的树的深度。模板voidbacktracking(参数){if(终止条件){存放结果;return;}for(选择:本层集合中元素(树中节点孩
- 【回溯】22. 括号生成
少写代码少看论文多多睡觉
#Leetcode算法
22.括号生成解题思路首先,我们定义一个公共方法generateParenthesis,该方法接受一个整数n,表示要生成括号的对数。如果n为零,直接返回一个空列表。然后,在generateParenthesis方法中,我们初始化一个空列表res和一个空的字符串构建器track。接着,我们调用backtrack方法进行回溯,并将track和res作为参数传递给它。在backtrack方法中,我们设置
- 【回溯】LCR 085. 括号生成
少写代码少看论文多多睡觉
#Leetcode算法
LCR085.括号生成解题思路首先,我们定义一个公共方法generateParenthesis,该方法接受一个整数n,表示要生成括号的对数。如果n为零,直接返回一个空列表。然后,在generateParenthesis方法中,我们初始化一个空列表res和一个空的字符串构建器track。接着,我们调用backtrack方法进行回溯,并将track和res作为参数传递给它。在backtrack方法中,
- 【回溯】37. 解数独
少写代码少看论文多多睡觉
#Leetcode算法java数据结构
37.解数独解题思路通过solveSudoku方法开始求解数独问题,然后调用backtrack方法进行递归回溯搜索。backtrack方法通过两个参数i和j来确定当前搜索的位置。在backtrack方法中,首先检查当前位置是否超出了数独的边界,若超出,则表示已经搜索完整个数独,返回true。然后检查当前位置是否已经填入数字,若已填入,则跳到下一个位置进行搜索。接着,遍历尝试填入数字1到9,若遇到不
- 代码随想录算法训练营第四十七天(动态规划篇)| 416. 分割等和子集
Huiwen_Z
代码随想录训练营算法动态规划pythonleetcode
416.分割等和子集题目链接:416.分割等和子集-力扣(LeetCode)思路回溯——超时首先想到之前的回溯算法,寻找数组中加和等于sum(nums)/2的子集,但对于大数组超时了:classSolution(object):defbacktracking(self,nums,startIdx,curSum):ifcurSum>sum(nums)/2:returnifcurSum==sum(nu
- 【代码随想录算法训练营】第二十九天打卡 | 491.递增子序列、46.全排列、47.全排列II
Clukay_
代码随想录算法leetcode
代码随想录算法训练营任务安排491.递增子序列思路回溯三部曲46.全排列思路回溯三部曲47.全排列II思路491.递增子序列思路回溯三部曲递归函数参数本题求子序列,很明显一个元素不能重复使用,所以需要startIndex,调整下一层递归的起始位置。vector>result;vectorpath;voidbacktracking(vector&nums,intstartIndex)终止条件本题收集
- JVM StackMapTable 属性的作用及理解
lijingyao8206
jvm字节码Class文件StackMapTable
在Java 6版本之后JVM引入了栈图(Stack Map Table)概念。为了提高验证过程的效率,在字节码规范中添加了Stack Map Table属性,以下简称栈图,其方法的code属性中存储了局部变量和操作数的类型验证以及字节码的偏移量。也就是一个method需要且仅对应一个Stack Map Table。在Java 7版
- 回调函数调用方法
百合不是茶
java
最近在看大神写的代码时,.发现其中使用了很多的回调 ,以前只是在学习的时候经常用到 ,现在写个笔记 记录一下
代码很简单:
MainDemo :调用方法 得到方法的返回结果
- [时间机器]制造时间机器需要一些材料
comsci
制造
根据我的计算和推测,要完全实现制造一台时间机器,需要某些我们这个世界不存在的物质
和材料...
甚至可以这样说,这种材料和物质,我们在反应堆中也无法获得......
 
- 开口埋怨不如闭口做事
邓集海
邓集海 做人 做事 工作
“开口埋怨,不如闭口做事。”不是名人名言,而是一个普通父亲对儿子的训导。但是,因为这句训导,这位普通父亲却造就了一个名人儿子。这位普通父亲造就的名人儿子,叫张明正。 张明正出身贫寒,读书时成绩差,常挨老师批评。高中毕业,张明正连普通大学的分数线都没上。高考成绩出来后,平时开口怨这怨那的张明正,不从自身找原因,而是不停地埋怨自己家庭条件不好、埋怨父母没有给他创造良好的学习环境。
- jQuery插件开发全解析,类级别与对象级别开发
IT独行者
jquery开发插件 函数
jQuery插件的开发包括两种: 一种是类级别的插件开发,即给
jQuery添加新的全局函数,相当于给
jQuery类本身添加方法。
jQuery的全局函数就是属于
jQuery命名空间的函数,另一种是对象级别的插件开发,即给
jQuery对象添加方法。下面就两种函数的开发做详细的说明。
1
、类级别的插件开发 类级别的插件开发最直接的理解就是给jQuer
- Rome解析Rss
413277409
Rome解析Rss
import java.net.URL;
import java.util.List;
import org.junit.Test;
import com.sun.syndication.feed.synd.SyndCategory;
import com.sun.syndication.feed.synd.S
- RSA加密解密
无量
加密解密rsa
RSA加密解密代码
代码有待整理
package com.tongbanjie.commons.util;
import java.security.Key;
import java.security.KeyFactory;
import java.security.KeyPair;
import java.security.KeyPairGenerat
- linux 软件安装遇到的问题
aichenglong
linux遇到的问题ftp
1 ftp配置中遇到的问题
500 OOPS: cannot change directory
出现该问题的原因:是SELinux安装机制的问题.只要disable SELinux就可以了
修改方法:1 修改/etc/selinux/config 中SELINUX=disabled
2 source /etc
- 面试心得
alafqq
面试
最近面试了好几家公司。记录下;
支付宝,面试我的人胖胖的,看着人挺好的;博彦外包的职位,面试失败;
阿里金融,面试官人也挺和善,只不过我让他吐血了。。。
由于印象比较深,记录下;
1,自我介绍
2,说下八种基本类型;(算上string。楼主才答了3种,哈哈,string其实不是基本类型,是引用类型)
3,什么是包装类,包装类的优点;
4,平时看过什么书?NND,什么书都没看过。。照样
- java的多态性探讨
百合不是茶
java
java的多态性是指main方法在调用属性的时候类可以对这一属性做出反应的情况
//package 1;
class A{
public void test(){
System.out.println("A");
}
}
class D extends A{
public void test(){
S
- 网络编程基础篇之JavaScript-学习笔记
bijian1013
JavaScript
1.documentWrite
<html>
<head>
<script language="JavaScript">
document.write("这是电脑网络学校");
document.close();
</script>
</h
- 探索JUnit4扩展:深入Rule
bijian1013
JUnitRule单元测试
本文将进一步探究Rule的应用,展示如何使用Rule来替代@BeforeClass,@AfterClass,@Before和@After的功能。
在上一篇中提到,可以使用Rule替代现有的大部分Runner扩展,而且也不提倡对Runner中的withBefores(),withAfte
- [CSS]CSS浮动十五条规则
bit1129
css
这些浮动规则,主要是参考CSS权威指南关于浮动规则的总结,然后添加一些简单的例子以验证和理解这些规则。
1. 所有的页面元素都可以浮动 2. 一个元素浮动后,会成为块级元素,比如<span>,a, strong等都会变成块级元素 3.一个元素左浮动,会向最近的块级父元素的左上角移动,直到浮动元素的左外边界碰到块级父元素的左内边界;如果这个块级父元素已经有浮动元素停靠了
- 【Kafka六】Kafka Producer和Consumer多Broker、多Partition场景
bit1129
partition
0.Kafka服务器配置
3个broker
1个topic,6个partition,副本因子是2
2个consumer,每个consumer三个线程并发读取
1. Producer
package kafka.examples.multibrokers.producers;
import java.util.Properties;
import java.util.
- zabbix_agentd.conf配置文件详解
ronin47
zabbix 配置文件
Aliaskey的别名,例如 Alias=ttlsa.userid:vfs.file.regexp[/etc/passwd,^ttlsa:.:([0-9]+),,,,\1], 或者ttlsa的用户ID。你可以使用key:vfs.file.regexp[/etc/passwd,^ttlsa:.: ([0-9]+),,,,\1],也可以使用ttlsa.userid。备注: 别名不能重复,但是可以有多个
- java--19.用矩阵求Fibonacci数列的第N项
bylijinnan
fibonacci
参考了网上的思路,写了个Java版的:
public class Fibonacci {
final static int[] A={1,1,1,0};
public static void main(String[] args) {
int n=7;
for(int i=0;i<=n;i++){
int f=fibonac
- Netty源码学习-LengthFieldBasedFrameDecoder
bylijinnan
javanetty
先看看LengthFieldBasedFrameDecoder的官方API
http://docs.jboss.org/netty/3.1/api/org/jboss/netty/handler/codec/frame/LengthFieldBasedFrameDecoder.html
API举例说明了LengthFieldBasedFrameDecoder的解析机制,如下:
实
- AES加密解密
chicony
加密解密
AES加解密算法,使用Base64做转码以及辅助加密:
package com.wintv.common;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import sun.misc.BASE64Decod
- 文件编码格式转换
ctrain
编码格式
package com.test;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
- mysql 在linux客户端插入数据中文乱码
daizj
mysql中文乱码
1、查看系统客户端,数据库,连接层的编码
查看方法: http://daizj.iteye.com/blog/2174993
进入mysql,通过如下命令查看数据库编码方式: mysql> show variables like 'character_set_%'; +--------------------------+------
- 好代码是廉价的代码
dcj3sjt126com
程序员读书
长久以来我一直主张:好代码是廉价的代码。
当我跟做开发的同事说出这话时,他们的第一反应是一种惊愕,然后是将近一个星期的嘲笑,把它当作一个笑话来讲。 当他们走近看我的表情、知道我是认真的时,才收敛一点。
当最初的惊愕消退后,他们会用一些这样的话来反驳: “好代码不廉价,好代码是采用经过数十年计算机科学研究和积累得出的最佳实践设计模式和方法论建立起来的精心制作的程序代码。”
我只
- Android网络请求库——android-async-http
dcj3sjt126com
android
在iOS开发中有大名鼎鼎的ASIHttpRequest库,用来处理网络请求操作,今天要介绍的是一个在Android上同样强大的网络请求库android-async-http,目前非常火的应用Instagram和Pinterest的Android版就是用的这个网络请求库。这个网络请求库是基于Apache HttpClient库之上的一个异步网络请求处理库,网络处理均基于Android的非UI线程,通
- ORACLE 复习笔记之SQL语句的优化
eksliang
SQL优化Oracle sql语句优化SQL语句的优化
转载请出自出处:http://eksliang.iteye.com/blog/2097999
SQL语句的优化总结如下
sql语句的优化可以按照如下六个步骤进行:
合理使用索引
避免或者简化排序
消除对大表的扫描
避免复杂的通配符匹配
调整子查询的性能
EXISTS和IN运算符
下面我就按照上面这六个步骤分别进行总结:
- 浅析:Android 嵌套滑动机制(NestedScrolling)
gg163
android移动开发滑动机制嵌套
谷歌在发布安卓 Lollipop版本之后,为了更好的用户体验,Google为Android的滑动机制提供了NestedScrolling特性
NestedScrolling的特性可以体现在哪里呢?<!--[if !supportLineBreakNewLine]--><!--[endif]-->
比如你使用了Toolbar,下面一个ScrollView,向上滚
- 使用hovertree菜单作为后台导航
hvt
JavaScriptjquery.nethovertreeasp.net
hovertree是一个jquery菜单插件,官方网址:http://keleyi.com/jq/hovertree/ ,可以登录该网址体验效果。
0.1.3版本:http://keleyi.com/jq/hovertree/demo/demo.0.1.3.htm
hovertree插件包含文件:
http://keleyi.com/jq/hovertree/css
- SVG 教程 (二)矩形
天梯梦
svg
SVG <rect> SVG Shapes
SVG有一些预定义的形状元素,可被开发者使用和操作:
矩形 <rect>
圆形 <circle>
椭圆 <ellipse>
线 <line>
折线 <polyline>
多边形 <polygon>
路径 <path>
- 一个简单的队列
luyulong
java数据结构队列
public class MyQueue {
private long[] arr;
private int front;
private int end;
// 有效数据的大小
private int elements;
public MyQueue() {
arr = new long[10];
elements = 0;
front
- 基础数据结构和算法九:Binary Search Tree
sunwinner
Algorithm
A binary search tree (BST) is a binary tree where each node has a Comparable key (and an associated value) and satisfies the restriction that the key in any node is larger than the keys in all
- 项目出现的一些问题和体会
Steven-Walker
DAOWebservlet
第一篇博客不知道要写点什么,就先来点近阶段的感悟吧。
这几天学了servlet和数据库等知识,就参照老方的视频写了一个简单的增删改查的,完成了最简单的一些功能,使用了三层架构。
dao层完成的是对数据库具体的功能实现,service层调用了dao层的实现方法,具体对servlet提供支持。
&
- 高手问答:Java老A带你全面提升Java单兵作战能力!
ITeye管理员
java
本期特邀《Java特种兵》作者:谢宇,CSDN论坛ID: xieyuooo 针对JAVA问题给予大家解答,欢迎网友积极提问,与专家一起讨论!
作者简介:
淘宝网资深Java工程师,CSDN超人气博主,人称“胖哥”。
CSDN博客地址:
http://blog.csdn.net/xieyuooo
作者在进入大学前是一个不折不扣的计算机白痴,曾经被人笑话过不懂鼠标是什么,