- 代码随想录打卡第六十一天
zengy5
代码随想录刷题流程c++leetcode学习
代码随想录–图论部分day62图论第十一天(完结)文章目录代码随想录–图论部分一、卡码网97--小明逛公园二、卡码网126--骑士的攻击总结一、卡码网97–小明逛公园代码随想录题目链接:代码随想录给定一个公园景点图,图中有N个景点(编号为1到N),以及M条双向道路连接着这些景点。每条道路上行走的距离都是已知的。小明有Q个观景计划,每个计划都有一个起点start和一个终点end,表示他想从景点sta
- 打卡第59天-------图论
感谢上Di_123
前端算法题图论
加油!不要放弃,交托给上Di,求shen保守我的平安与顺利。一、dijkstra(堆优化版)精讲代码随想录二、Bellman_ford算法精讲代码随想录
- 力扣题/图论/实现 Trie (前缀树)
温温温B
leetcode图论javascript算法
实现Trie(前缀树)力扣原题Trie(发音类似“try”)或者说前缀树是一种树形数据结构,用于高效地存储和检索字符串数据集中的键。这一数据结构有相当多的应用情景,例如自动补全和拼写检查。请你实现Trie类:Trie()初始化前缀树对象。voidinsert(Stringword)向前缀树中插入字符串word。booleansearch(Stringword)如果字符串word在前缀树中,返回tr
- 算法训练营|图论第7天 prim算法 kruskal算法
人间温柔观察者
算法图论数据结构
题目:prim算法题目链接:53.寻宝(第七期模拟笔试)(kamacoder.com)代码:#include#include#includeusingnamespacestd;intmain(){intv,e;intx,y,k;cin>>v>>e;vector>grid(v+1,vector(v+1,10001));while(e--){cin>>x>>y>>k;grid[x][y]=k;grid
- 代码随想录算法训练营第五十五天 | 图论part05
sagen aller
算法图论
107.寻找存在的路径只需要判断是否联通,不需要知道具体路径或者路径数量,可以使用并查集。//project1.cpp:Thisfilecontainsthe'main'function.Programexecutionbeginsandendsthere.//#include#includeusingnamespacestd;voidinit(vector&father){for(inti=0;
- 算法训练营|图论第6天 108.冗余连接 109.冗余连接2
人间温柔观察者
算法图论数据结构
题目:108.冗余连接题目链接:108.冗余连接(kamacoder.com)代码:#include#include#includeusingnamespacestd;vectorfather;intfind(intu){if(father[u]==u){returnu;}else{returnfather[u]=find(father[u]);}}voidjoin(intu,intv){u=fi
- 代码随想录算法训练营第五十三天 | 图论part04
sagen aller
算法图论深度优先
110.字符串接龙思路是要将字符串之间用线连起来,每个相邻的字符串只有一个字符不同。通过bfs来找到最短路径。要注意已经走过的路径要记录下来,包括走过的步数。但是这一题并没有建图,而是将这个过程简化了,只是记录下了path。#include#include#include#include#include#includeusingnamespacestd;intmain(){intn;stringb
- 代码随想录算法训练营Day61 || 图论part 10
傲世尊
图论
Bellman_ford队列优化算法:又叫做SPFA,在做松弛操作时,只更新以目前操作节点为出发点能到达的节点的minDist,避免多余操作。判断负权回路:如果有负权回路,进行第n次松弛的时候,minDist数组会有变化。最多经过k个城市,那么就对所有边进行k+1次松弛即可。
- 代码随想录算法训练营Day62|| 图论part11
傲世尊
图论算法
Floyd算法和Astar算法。算是一刷结束了,图论纯走马观花,晚点写个小总结吧。学习计划链接代码随想录算法训练营39期(qq.com)
- 代码随想录算法训练营Day52|| 图论part03
傲世尊
算法图论
补了上次岛屿最大面积的代码。图论学起来慢了好多。卡玛网101.孤岛的总面积:注意题目中孤岛的定义,孤岛必须在矩阵内部,因此必须先处理矩阵外部一圈的陆地,再把count初始化为0,再开始处理。注意,矩阵内部两块连在一起的陆地也叫做孤岛。卡玛网102.沉没孤岛:和上面一题类似,先处理矩阵边缘的陆地,把陆地特殊标记为2,之后把内陆为1的陆地全都变成0,把特殊标记的2换成1即可。卡玛网103.水流问题和卡
- 代码随想录算法训练营Day54|| 图论part04
傲世尊
算法图论
图论部分就先不手写代码了。能理解就很花时间了,先看懂逻辑和代码,关键基础部分写写吧。卡玛网110字符串接龙:相当于求无向图的最短路径,广搜最合适,因为广搜第一次找到路径一定最短。广搜就要利用队列,代码是能看懂的。注意创建visitmap记录访问状态,访问过的字符不添加进队列。卡玛网105有向图的完全可达性:这是个有向图搜索全路径的问题。算是一题简单的基础题,可以用来巩固邻接表的写法。注意key所代
- 并查集【算法 12】
终末圆
算法算法cc++python数据结构acmc语言
并查集(Union-Find)的基础概念与实现并查集(Union-Find)是一种用于处理不相交集合(disjointsets)的数据结构,常用于解决连通性问题。典型的应用场景包括动态连通性问题(如网络节点连通性检测)、图论中的最小生成树(Kruskal算法)、社交网络中的群体归属等。并查集的两大基本操作合并操作(Union):将两个不同的集合合并为一个集合。查找操作(Find):查询某个元素属于
- 【图论】最短路算法
叫我胡萝北
算法图论
【图论】最短路算法文章目录【图论】最短路算法1.Dijkstra2.Bellman-Ford3.Floyd4.A*5.matlab求最短路今天是图论的学习,就从最短路算法开始叭1.DijkstraDijkstra算法是典型的单源最短路算法,即求图中一个点到其他所有点的最短路径的算法,时间复杂度O(n2)O(n^2)O(n2)Dijkstra算法算是贪心思想实现的,图不能有负权边,其核心要点为:每次
- Verilog刷题笔记59
十六追梦记
笔记
题目:Exams/m2014q6c解题:moduletop_module(input[6:1]y,inputw,outputY2,outputY4);assignY2=y[1]&w==0;assignY4=(y[2]&w==1)|(y[3]&w==1)|(y[5]&w==1)|(y[6]&w==1);endmodule结果正确:注意点:起初,我的代码有错误,代码如下:moduletop_modul
- Verilog刷题笔记62
十六追梦记
笔记fpga开发
题目:Exams/review2015fancytimerThisisthefifthcomponentinaseriesoffiveexercisesthatbuildsacomplexcounteroutofseveralsmallercircuits.Youmaywishtodothefourpreviousexercisesfirst(counter,sequencerecognizerF
- Verilog刷题笔记60
十六追梦记
笔记fpga开发
题目:Exams/2013q2bfsmConsiderafinitestatemachinethatisusedtocontrolsometypeofmotor.TheFSMhasinputsxandy,whichcomefromthemotor,andproducesoutputsfandg,whichcontrolthemotor.Thereisalsoaclockinputcalledclk
- 游戏 抽象图论
weixin_30673611
我个人认为抽象图论挺帅的,一旦将问题抽象成点,跑图论算法就可以了。我被抽象图论坑过很多回,这种题都是考试&&刷题好题,千万不能浪费。我记着有传送门,流水,棋子这几道抽象图论。下次要是再看不出来是图论就要开个抽象图论总结了。。这题我是一点思路都没有。我们从分析状态入手吧。问题在于,一个点只有一种状态么。这一点我在考场上想都没想,直接按一个考虑的。然后我就不会怎么让由岐过来再让lilulu过来。来更新
- 打卡55天------图论(并查集)
感谢上Di_123
前端算法题前端算法javascript
图论这里我学的不是很好,作为一名JavaScript前端开发工程师,我能说我基本上在工作中都没用到过吗?一、并查集理论基础这个说句实话,我平常工作很少用到,上学的时候好像也没学过,可能我只是本科生吧,卡尔我他的简介的学历是硕士,还是要在知识上不断追求呀。并查集理论基础二、寻找存在的路径题目链接:卡码网题目描述:题目描述给定一个包含n个节点的无向图中,节点编号从1到n(含1和n)。你的任务是判断是否
- 图论之prim 超级牛游戏
jn737582209
算法图论prim算法
蹲墙角**【问题描述】**现在有N(1”改成“<”。但虚伪犹我,没考虑到会爆int,还把vis[1]写成了dis[1],md气死我了。
- 全染色算法及其matlab程序详解
夏天天天天天天天#
图论算法图论matlab
#################本文为学习《图论算法及其MATLAB实现》的学习笔记#################全染色以及全色数图G的顶点和边满足使相邻或关联的元素得到不同的颜色,则称此染色为G的全染色;其所用最少色数称为G的全色数算法用途给出简单图的染色数尽可能少的全染色方案算法思想从图上的某个顶点开始染色,然后对其不相邻的顶点进行染色(同色),再对其相关联的每条边进行染色(新色),再对
- 均匀全染色算法及其matlab程序详解
夏天天天天天天天#
图论算法图论matlab
#################本文为学习《图论算法及其MATLAB实现》的学习笔记#################均匀全染色以及均匀全色数若图G的一个全染色满足使任意两种颜色所染元素数目相差不超过1,则称其为图G的均匀全染色,其所用最少色数称为图G的均匀全色数。算法用途给出简单图的尽可能少的均匀全染色数方案算法思想先对图进行全染色,找到一个数量最少的染色,然后对图进行重新染色,使得重新的染色
- Collatz 猜想和 Python
不连续小姐
PythonDay4:CollatzConjecture原来总有学生问我,微积分有什么用啊,我说如果微积分学好了,也许抽象代数和数论就能学好,那最后就能像AndrewWiles一样上人物年度杂志的封面了.(AndrewWiles证明了Fermat'sLastTheorem,费玛大定理).[captionid="attachment_1466"align="alignnone"width="300"
- 日撸Java三百行(day31:整数矩阵及其运算)
林金金金
java矩阵算法
目录前言一、基本属性与方法二、getter与setter方法三、矩阵相加与矩阵相乘方法1.矩阵相加2.矩阵相乘四、数据测试五、完整的程序代码总结前言从今天开始,我们就要踏上图论的学习之路了。第一天,我们先简单热个身,构造一个整数矩阵。一、基本属性与方法/***Thedata.*/int[][]data;由于我们今天构造的是int类型的矩阵,而在程序代码中矩阵又是通过数组来实现,所以这里首先定义了一
- 初等数论--整除--带余除法
WeidanJi
初等数论数学密码学信息安全
初等数论--整除--带余除法概念基本性质带余除法博主本人是初学初等数论(整除+同余+原根),本意是想整理一些较难理解的定理、算法,加深记忆也方便日后查找;如果有错,欢迎指正。我整理成一个系列:初等数论,方便检索。概念初等数论研究对象是整数集合和自然数集合。初等数论研究对象是整数集合和自然数集合。初等数论研究对象是整数集合和自然数集合。b∣a:若a,b∈Z,b≠0,∃c∈Z,使a=bc,则称b整除a
- 【数据结构】最短路径
游向大厂的咸鱼
浅谈C++数据结构算法
在图论中,最短路径问题是一个经典且重要的问题,它用于寻找两个顶点之间距离最短的路径。本文将详细介绍两种常用的最短路径算法——Dijkstra算法和Bellman-Ford算法的原理,并提供C语言代码示例,演示它们的实现方式及应用场景。一、Dijkstra算法Dijkstra算法是一种贪心算法,用于求解带有非负权值的加权图的单源最短路径问题。它的基本思想是,从起始顶点开始,逐步扩展已经找到的最短路径
- 打卡50天------图论
感谢上Di_123
前端算法题前端算法javascript
正式开启图论了,作为一个前端工程师,这个代码随想录真的刷新了我对于算法的认知,每天都在学习新东西。别着急、放轻松、慢慢来。一、图论理论基础讲解了很多东西,但是在前端开发过程中很少用到吧,主要是学习算法的思路。二、深搜理论基础了解一下深搜的原理和过程,其实对于深搜和广搜我自己也写过一篇博客,是我个人的理解,但是没有卡尔总结的全面,如此看来真的是小巫见大巫了。我自己的博客:我理解的深搜与广搜我自己理解
- 信息学奥赛初赛天天练-26-CSP-J2023基础题攻略,组合数学、高精度算法、计算机存储奥秘与操作系统实践
ya888g
信息学奥赛初赛算法组合数学高精度算法信息学奥赛
PDF文档公众号回复关键字:20240611单项选择题(共15题,每题2分,共计30分:每题有且仅有一个正确选项)6小明在某一天中依次有七个空闲时间段,他想要选出至少一个空闲时间段来练习唱歌,但他希望任意两个练习的时间段之间都有至少两个空闲的时间段让他休息,则小明一共有()种选择时间段的方案。A31B18C21D337以下关于高精度运算的说法错误的是()。A高精度计算主要是用来处理大整数或需要保留
- 河南萌新2024第四场
Pown_ShanYu
算法数据结构
C岗位分配题目大意:有n个岗位,m位志愿者,每个岗位至少需要a个志愿者,并且可以有志愿者可以空闲下来作预备,给出可能的分配情况总数思路:首先将每个岗位分配好至少需要的志愿者,再将剩下的人进行分配,那就满足球同盒不同模型(允许空盒),可用隔板法进行分配,需要额外开设一个空闲岗位用来预备,那么按照4个人去4个岗位,那么为c73,具体操作可看数论模板中发布的隔板法问题,递归求组合数Solved:intn
- 力扣题/图论/腐烂的橘子
温温温B
leetcode图论算法javascript
腐烂的橘子力扣原题在给定的mxn网格grid中,每个单元格可以有以下三个值之一:值0代表空单元格;值1代表新鲜橘子;值2代表腐烂的橘子。每分钟,腐烂的橘子周围4个方向上相邻的新鲜橘子都会腐烂。返回直到单元格中没有新鲜橘子为止所必须经过的最小分钟数。如果不可能,返回-1。示例1:输入:grid=[[2,1,1],[1,1,0],[0,1,1]]输出:4示例2:输入:grid=[[2,1,1],[0,
- 力扣题/图论/课程表
温温温B
leetcode图论算法javascript职场和发展
课程表力扣原题你这个学期必须选修numCourses门课程,记为0到numCourses-1。在选修某些课程之前需要一些先修课程。先修课程按数组prerequisites给出,其中prerequisites[i]=[ai,bi],表示如果要学习课程ai则必须先学习课程bi。例如,先修课程对[0,1]表示:想要学习课程0,你需要先完成课程1。请你判断是否可能完成所有课程的学习?如果可以,返回true
- ASM系列四 利用Method 组件动态注入方法逻辑
lijingyao8206
字节码技术jvmAOP动态代理ASM
这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以
- java编程思想 --内部类
百合不是茶
java内部类匿名内部类
内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅
1,内部类的创建 内部类是创建在类中的
package com.wj.InsideClass;
/*
* 内部类的创建
*/
public class CreateInsideClass {
public CreateInsideClass(
- web.xml报错
crabdave
web.xml
web.xml报错
The content of element type "web-app" must match "(icon?,display-
name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s
- 泛型类的自定义
麦田的设计者
javaandroid泛型
为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。
采用泛型类,完成扩展。
例如有一个学生类
Student{
Student(){
System.out.println("I'm a student.....");
}
}
有一个老师类
- CSS清除浮动的4中方法
IT独行者
JavaScriptUIcss
清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。
1、结尾处加空div标签 clear:both 1 2 3 4
.div
1
{
background
:
#000080
;
border
:
1px
s
- Cygwin使用windows的jdk 配置方法
_wy_
jdkwindowscygwin
1.[vim /etc/profile]
JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43" (windows下jdk路径为D:\Java\jdk1.6.0_43)
PATH="$JAVA_HOME/bin:${PATH}"
CLAS
- linux下安装maven
无量
mavenlinux安装
Linux下安装maven(转) 1.首先到Maven官网
下载安装文件,目前最新版本为3.0.3,下载文件为
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令;
2.进入下载文件夹,找到下载的文件,运行如下命令解压
tar -xvf apache-maven-2.2.1-bin.tar.gz
解压后的文件夹
- tomcat的https 配置,syslog-ng配置
aichenglong
tomcathttp跳转到httpssyslong-ng配置syslog配置
1) tomcat配置https,以及http自动跳转到https的配置
1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令)
keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit
- 关于领号活动总结
alafqq
活动
关于某彩票活动的总结
具体需求,每个用户进活动页面,领取一个号码,1000中的一个;
活动要求
1,随机性,一定要有随机性;
2,最少中奖概率,如果注数为3200注,则最多中4注
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高);
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库)
解决方案
1,事先产生随机数1000个,并打
- java数据结构 冒泡排序的遍历与排序
百合不是茶
java
java的冒泡排序是一种简单的排序规则
冒泡排序的原理:
比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样;
针对所有的元素重复以上的步骤,除了最后一个
例题;将int array[]
- JS检查输入框输入的是否是数字的一种校验方法
bijian1013
js
如下是JS检查输入框输入的是否是数字的一种校验方法:
<form method=post target="_blank">
数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
- Test注解的两个属性:expected和timeout
bijian1013
javaJUnitexpectedtimeout
JUnit4:Test文档中的解释:
The Test annotation supports two optional parameters.
The first, expected, declares that a test method should throw an exception.
If it doesn't throw an exception or if it
- [Gson二]继承关系的POJO的反序列化
bit1129
POJO
父类
package inheritance.test2;
import java.util.Map;
public class Model {
private String field1;
private String field2;
private Map<String, String> infoMap
- 【Spark八十四】Spark零碎知识点记录
bit1129
spark
1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中
- WAS各种脚本作用大全
ronin47
WAS 脚本
http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html
无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下
获取下载
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自
- java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句
bylijinnan
switch
借鉴网上的思路,用java实现:
public class NoIfWhile {
/**
* @param args
*
* find x=1+2+3+....n
*/
public static void main(String[] args) {
int n=10;
int re=find(n);
System.o
- Netty源码学习-ObjectEncoder和ObjectDecoder
bylijinnan
javanetty
Netty中传递对象的思路很直观:
Netty中数据的传递是基于ChannelBuffer(也就是byte[]);
那把对象序列化为字节流,就可以在Netty中传递对象了
相应的从ChannelBuffer恢复对象,就是反序列化的过程
Netty已经封装好ObjectEncoder和ObjectDecoder
先看ObjectEncoder
ObjectEncoder是往外发送
- spring 定时任务中cronExpression表达式含义
chicony
cronExpression
一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示:
代表含义 是否必须 允许的取值范围 &nb
- Nutz配置Jndi
ctrain
JNDI
1、使用JNDI获取指定资源:
var ioc = {
dao : {
type :"org.nutz.dao.impl.NutDao",
args : [ {jndi :"jdbc/dataSource"} ]
}
}
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可.
- 解决 /bin/sh^M: bad interpreter: No such file or directory
daizj
shell
在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。
解决:
1)在windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具
- [转]for 循环为何可恨?
dcj3sjt126com
程序员读书
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju
- Android实用小技巧
dcj3sjt126com
android
1、去掉所有Activity界面的标题栏
修改AndroidManifest.xml 在application 标签中添加android:theme="@android:style/Theme.NoTitleBar"
2、去掉所有Activity界面的TitleBar 和StatusBar
修改AndroidManifes
- Oracle 复习笔记之序列
eksliang
Oracle 序列sequenceOracle sequence
转载请出自出处:http://eksliang.iteye.com/blog/2098859
1.序列的作用
序列是用于生成唯一、连续序号的对象
一般用序列来充当数据库表的主键值
2.创建序列语法如下:
create sequence s_emp
start with 1 --开始值
increment by 1 --増长值
maxval
- 有“品”的程序员
gongmeitao
工作
完美程序员的10种品质
完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质:
1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强
(范围:用简单方式解决复杂问题)
- 使用KeleyiSQLHelper类进行分页查询
hvt
sql.netC#asp.nethovertree
本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D
- SVG 教程 (三)圆形,椭圆,直线
天梯梦
svg
SVG <circle> SVG 圆形 - <circle>
<circle> 标签可用来创建一个圆:
下面是SVG代码:
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
<circle cx="100" c
- 链表栈
luyulong
java数据结构
public class Node {
private Object object;
private Node next;
public Node() {
this.next = null;
this.object = null;
}
public Object getObject() {
return object;
}
public
- 基础数据结构和算法十:2-3 search tree
sunwinner
Algorithm2-3 search tree
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga
- spring配置定时任务
stunizhengjia
springtimer
最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到:
//------------------------定时任务调用的方法------------------------------
/**
* 存储过程定时器
*/
publi
- ITeye 8月技术图书有奖试读获奖名单公布
ITeye管理员
活动
ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。
8月试读活动回顾:
http://webmaster.iteye.com/blog/2102830
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):
《跨终端Web》
gleams:http