首先贴出两道题:
leetcode739
根据每日 气温
列表,请重新生成一个列表,对应位置的输入是你需要再等待多久温度才会升高的天数。如果之后都不会升高,请输入 0
来代替。
例如,给定一个列表 temperatures = [73, 74, 75, 71, 69, 72, 76, 73]
,你的输出应该是 [1, 1, 4, 2, 1, 1, 0, 0]
。
提示:气温
列表长度的范围是 [1, 30000]
。每个气温的值的都是 [30, 100]
范围内的整数。
leetcode496
给定两个没有重复元素的数组 nums1
和 nums2
,其中nums1
是 nums2
的子集。找到 nums1
中每个元素在 nums2
中的下一个比其大的值。
nums1
中数字 x 的下一个更大元素是指 x 在 nums2
中对应位置的右边的第一个比 x 大的元素。如果不存在,对应位置输出-1。
示例 1:
输入: nums1 = [4,1,2], nums2 = [1,3,4,2]. 输出: [-1,3,-1] 解释: 对于num1中的数字4,你无法在第二个数组中找到下一个更大的数字,因此输出 -1。 对于num1中的数字1,第二个数组中数字1右边的下一个较大数字是 3。 对于num1中的数字2,第二个数组中没有下一个更大的数字,因此输出 -1。
示例 2:
输入: nums1 = [2,4], nums2 = [1,2,3,4]. 输出: [3,-1] 解释: 对于num1中的数字2,第二个数组中的下一个较大数字是3。 对于num1中的数字4,第二个数组中没有下一个更大的数字,因此输出 -1。
这两道题都可以归结为:“在数组array【i】之后并且大于array【i】的第一个元素在哪”的问题。
我在第二题中使用了双重for循环,很幸运是通过的了。
第一题是明显不通的。(因为这是中等难度的了)
首先我们查看一个序列:【1,1,1,1,4】
如果用双重for循环,实际上前4次寻找的都是一个元素而已,就是4.
其实增加了不必要迭代。
递减栈思路是这样的:
扫描数组,如果栈是空的那么压如一个元素,因为栈里没有元素比这个小,所以肯定要放在最底下。
如果栈不是空的并且当前扫描的元素小于(等于)栈顶元素,压入。
如果栈不是空的并且扫描元素大于栈顶元素,我们要在不断弹出元素直至栈顶元素大于当前元素,或者空栈把新元素放入。
我们以第一题的示例来演示递减栈。
首先有一个空栈:【】。
当前元素73:压入。【(73,0)】其中0是73的下标,为了到时候放入结果做准备。
当前74,弹出73,放入74.【(74,1)】也就是比73大的第一个元素是74,
当前75,弹出74,放入75.【(75,2)】也就是比74大的一个元素是75.
当前71,压入。【(75,2),(71,3)】
当前69,压入。【(75,2),(71,3),(69,4)】
当前72,弹出69,弹出71.也就是比69大的下一个是72,比71大的下一个是72.【(75,2),(72,5)】
当前76,弹出72,75,说明比72,75大的均为76.【(76,6)】
当前73,压入。【(76,6),(73,7)】
栈不是空的,所以剩余的两个元素是没有下一个更大元素的,可以填入响应特殊值。
这种方法在相当于最好情况的双重for。没有多余的比较。
效率极高,接近O(n)。
附送第一题解:
class Solution:
def dailyTemperatures(self, temperatures):
"""
:type temperatures: List[int]
:rtype: List[int]
"""
stk=[]
record=[0 for x in range(len(temperatures))]
for i,t in enumerate(temperatures):
if len(stk)==0:
stk.append((i,t))
else:
if t0 and stk[-1][1]
你可能感兴趣的:(算法随笔)
- 算法随笔_58: 队列中可以看到的人数
程序趣谈
算法python数据结构
上一篇:算法随笔_57:游戏中弱角色的数量-CSDN博客=====题目描述如下:有n个人排成一个队列,从左到右编号为0到n-1。给你以一个整数数组heights,每个整数互不相同,heights[i]表示第i个人的高度。一个人能看到他右边另一个人的条件是这两人之间的所有人都比他们两人矮。更正式的,第i个人能看到第j个人的条件是imax(heights[i+1],heights[i+2],...,h
- 算法随笔_57 : 游戏中弱角色的数量
程序趣谈
算法python数据结构
上一篇:算法随笔_56:好子数组的最大分数-CSDN博客=====题目描述如下:你正在参加一个多角色游戏,每个角色都有两个主要属性:攻击和防御。给你一个二维整数数组properties,其中properties[i]=[attacki,defensei]表示游戏中第i个角色的属性。如果存在一个其他角色的攻击和防御等级都严格高于该角色的攻击和防御等级,则认为该角色为弱角色。更正式地,如果认为角色i弱
- 算法随笔_50: 表现良好的最长时间段
程序趣谈
算法python数据结构
上一篇:算法随笔_49:有效的括号-CSDN博客=====题目描述如下:给你一份工作时间表hours,上面记录着某一位员工每天的工作小时数。我们认为当员工一天中的工作小时数大于8小时的时候,那么这一天就是「劳累的一天」。所谓「表现良好的时间段」,意味在这段时间内,「劳累的天数」是严格大于「不劳累的天数」。请你返回「表现良好时间段」的最大长度。示例1:输入:hours=[9,9,6,0,6,6,9]
- 算法随笔_38: 最多能完成排序的块
程序趣谈
算法python数据结构
上一篇:算法随笔_37:交替合并字符串-CSDN博客=====题目描述如下:给定一个长度为n的整数数组arr,它表示在[0,n-1]范围内的整数的排列。我们将arr分割成若干块(即分区),并对每个块单独排序。将它们连接起来后,使得连接的结果和按升序排序后的原数组相同。返回数组能分成的最多块数量。示例1:输入:arr=[4,3,2,1,0]输出:1解释:将数组分成2块或者更多块,都无法得到所需的结果
- 算法随笔_35: 每日温度
程序趣谈
算法python数据结构
上一篇:算法随笔_34:最后一个单词的长度-CSDN博客=====题目描述如下:给定一个整数数组temperatures,表示每天的温度,返回一个数组answer,其中answer[i]是指对于第i天,下一个更高温度出现在几天后。如果气温在这之后都不会升高,请在该位置用0来代替。示例1:输入:temperatures=[73,74,75,71,69,72,76,73]输出: [1,1,4,2,1,
- 算法随笔_36: 复写零
程序趣谈
算法python数据结构
上一篇:算法随笔_35:每日温度-CSDN博客=====题目描述如下:给你一个长度固定的整数数组arr,请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。请对输入的数组就地进行上述修改,不要从函数返回任何东西。示例1:输入:arr=[1,0,2,3,0,4,5,0]输出:[1,0,0,2,3,0,0,4]解释:调用函数后,输入的数组将被修改为
- 算法随笔_30: 去除重复字母
程序趣谈
算法python数据结构
上一篇:算法随笔_29:最大宽度坡_方法3-CSDN博客=====题目描述如下:给你一个字符串s,请你去除字符串中重复的字母,使得每个字母只出现一次。需保证返回结果的字典序最小(要求不能打乱其他字符的相对位置)。示例1:输入:s="bcabc"输出"abc"=====算法思路:首先我们考虑第一个条件:如何去掉字符串中重复的字母?这个比较简单。我们可以新开辟一个同样长度的新数组s_new来存储最后的
- 算法随笔_33: 132模式
程序趣谈
算法python数据结构
上一篇:算法随笔_32:移掉k位数字-CSDN博客=====题目描述如下:给你一个整数数组nums,数组中共有n个整数。132模式的子序列由三个整数nums[i]、nums[j]和nums[k]组成,并同时满足:inums[k]。此时我们如何更新这个stck数组呢?先给结论1:我们在stck中删除所有小于nums[9]的元素。把小于nums[9]的最大元素,比如nums[12]存入另一个变量k_m
- 算法随笔_28:最大宽度坡_方法2
程序趣谈
算法python
上一篇:算法随笔_27:最大宽度坡-CSDN博客=====题目描述如下:给定一个整数数组nums,坡是元组(i,j),其中i
- 算法随笔_29:最大宽度坡_方法3
程序趣谈
算法python
上一篇:算法随笔_28:最大宽度坡_方法2-CSDN博客=====题目描述如下:给定一个整数数组nums,坡是元组(i,j),其中isort_nums[mid][0]:lf=mid+1else:rg=midreturnlfdefmaxWidthRamp(self,nums):nums_len=len(nums)w_max=0sort_nums=[[nums[-1],nums_len-1]]fori
- 算法随笔_24: 救生艇
程序趣谈
算法
上一篇:算法随笔_23:通过删除字母匹配到字典里最长单词-CSDN博客======题目描述如下:给定数组people。people[i]表示第i个人的体重,船的数量不限,每艘船可以承载的最大重量为limit。每艘船最多可同时载两人,但条件是这些人的重量之和最多为limit。返回承载所有人所需的最小船数。示例1:输入:people=[1,2],limit=3输出:1解释:1艘船载(1,2)=====
- 算法随笔_23: 通过删除字母匹配到字典里最长单词
程序趣谈
算法
上一篇:算法随笔_22:数组中的k-diff对-CSDN博客======题目描述如下:给你一个字符串s和一个字符串数组dictionary,找出并返回dictionary中最长的字符串,该字符串可以通过删除s中的某些字符得到。如果答案不止一个,返回长度最长且字母序最小的字符串。如果答案不存在,则返回空字符串。示例1:输入:s="abpcplea",dictionary=["ale","apple"
- 算法随笔_21:字符的最短距离
程序趣谈
算法
上一篇:算法随笔_20:区间子数组个数-CSDN博客=====================题目描述如下:给你一个字符串s和一个字符c,且c是s中出现过的字符。返回一个整数数组answer,其中answer.length==s.length且answer[i]是s中从下标i到离它最近的字符c的距离。两个下标i和j之间的距离为abs(i-j),其中abs是绝对值函数。示例1:输入:s="lovel
- 算法随笔_20:区间子数组个数
程序趣谈
算法
上一篇:算法随笔_19:数组中的最长山脉-CSDN博客=====================题目描述如下:给你一个整数数组nums和两个整数:left及right。找出nums中连续、非空且其中最大元素在范围[left,right]内的子数组,并返回满足条件的子数组的个数。生成的测试用例保证结果符合32-bit整数范围。示例1:输入:nums=[2,1,4,3],left=2,right=3输
- 算法随笔_19: 数组中的最长山脉
程序趣谈
算法
上一篇:算法随笔_18:划分字母区间-CSDN博客======================题目描述如下:把符合下列属性的数组arr称为山脉数组:arr.length>=3存在下标i(0arr[i+1]>...>arr[arr.length-1]给出一个整数数组arr,返回最长山脉子数组的长度。如果不存在山脉子数组,返回0。示例1:输入:arr=[2,1,4,7,3,2,5]输出:5解释:最长的
- 算法随笔_12:最短无序子数组
程序趣谈
算法
上一篇:算法随笔_11:字符串的排列-CSDN博客题目描述如下:给你一个整数数组nums,你需要找出一个连续子数组,如果对这个子数组进行升序排序,那么整个数组都会变为升序排序。请你找出符合题意的最短子数组,并输出它的长度。示例1:输入:nums=[2,6,4,8,10,9,15]输出:5解释:你只需要对[6,4,8,10,9]进行升序排序,那么整个表都会变为升序排序。===============
- 算法随笔_6: 下一个排列
程序趣谈
算法
上一篇:算法随笔_5:接雨水-CSDN博客题目描述如下:整数数组的一个排列就是将其所有成员以序列或线性顺序排列。例如,arr=[1,2,3],以下这些都可以视作arr的排列:[1,2,3]、[1,3,2]、[3,1,2]、[2,3,1]。整数数组的下一个排列是指其整数的下一个字典序更大的排列。更正式地,如果数组的所有排列根据其字典顺序从小到大排列在一个容器中,那么数组的下一个排列就是在这个有序容器
- 算法随笔_9:压缩字符串
程序趣谈
算法
上一篇:算法随笔_8:寻找重复数-CSDN博客题目描述如下:给你一个字符数组chars,请使用下述算法压缩:从一个空字符串s开始。对于chars中的每组连续重复字符:如果这一组长度为1,则将字符追加到s中。否则,需要向s追加字符,后跟这一组的长度。压缩后得到的字符串s不应该直接返回,需要转储到字符数组chars中。需要注意的是,如果组长度为10或10以上,则在chars数组中会被拆分为多个字符。请
- 【算法随笔:HDU 3333 Turing tree】(线段树 | 离线 | 离散化 | 贪心)
XNB's Not a Beginner
算法算法哈希算法leetcodec++排序算法
https://acm.hdu.edu.cn/showproblem.php?pid=3333https://acm.hdu.edu.cn/showproblem.php?pid=3333https://vjudge.net.cn/problem/HDU-3333https://vjudge.net.cn/problem/HDU-3333题目很简单,给出长度为N的数组,Q次询问,每次给出区间[x,
- 算法随笔
吴俊强
原地删除重复的数字给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度。不要使用额外的数组空间,你必须在原地修改输入数组并在使用O(1)额外空间的条件下完成。给定nums=[0,0,1,1,1,2,2,3,3,4],函数应该返回新的长度5,并且原数组nums的前五个元素被修改为0,1,2,3,4。你不需要考虑数组中超出新长度后面的元素。实现intremo
- 很全了!社招CV岗面试知识点笔记
自动驾驶之心
笔记
作者|chen212编辑|计算机视觉算法随笔点击下方卡片,关注“自动驾驶之心”公众号ADAS巨卷干货,即可获取点击进入→自动驾驶之心【求职交流】技术交流群本文只做学术分享,如有侵权,联系删文全文篇幅较长,建议mark后预留充足时间,辨证学习+思考!一、python二、C++三、linux四、pytorch五、DL基础六、模型部署/压缩七、传统视觉八、项目思维,模型优化九、智力/code题一、pyt
- 算法随笔 — 排序算法 — 归并排序
カさま
算法算法前端归并排序typescriptjavascript
归并排序原理归并排序,顾名思义,先有向下拆分,再有向上合并以升序排序为例,首先我们将原数组拆分成两份,然后定义一个新数组和两个指针指向拆分后的两个数组,当左边数组指针指向的值比右边的小的时候就将其放入新数组中,否则就将右边的放入新数组中,如此操作直到双指针遍历完毕归并排序的作用这个算法可以用来处理大数据,比如说现有内存2GB,如何对40GB大小的文件进行升序排序?首先我们可以将这个大文件拆分成20
- 算法随笔 — 排序算法 — 快速排序
カさま
算法算法前端快速排序typescriptjavascript
快速排序实现原理在不同的实现方法中,按照交换值的方法可以分为赋值和两数值交换,这个现在理解不了没关系,先带着这个观点继续往后看普通快排以升序为例,实现步骤如下图所示functionquick_sort_v1(arr:number[],l:number,r:number){if(l>=r)returnletx=l,y=r,base=arr[l]//选择操作区间第一位作为基准值while(xbase)
- 算法随笔 - 容斥原理学习
golitter.
算法题算法学习
890.能被整除的数-AcWing题库在补牛客多校7的I题I-WeLoveStrings_2023牛客暑期多校训练营7(nowcoder.com)时发现处理重复集合用了容斥原理来做,感觉我对容斥原理不太熟悉,因此上网学了学容斥原理。n个集合的容斥原理的公式为:∪i=1mSi=S1+S2+S3+S4...+Sm−(S1∩S2+S1∩S3+...+Sm−1∩Sm)+S1∩S2∩S3+S1∩S2∩S4.
- 算法随笔:各种经典最短路算法的简要比较总结
bughunter-
#算法随笔算法
有多种最短路径的应用场景,它们需要用到不同的算法来解决。除了贪心最优搜索之外,其他都是最优性算法,即得到的解都是最短路径。其中m是边的数量,n是点的数量。问题边权算法时间复杂度一个起点,一个终点非负数;无边权(或边权为1)A*算法
- 算法随笔:强连通分量
bughunter-
#算法随笔算法数据结构图论强连通分量KosarajuTarjan
概念和性质:强连通:在有向图G中,如果两个点u和v是互相可达的,即从u出发可以到达v,从v出发也可以到达u,则成u和v是强连通的。强连通分量:如果一个有向图G不是强连通图,那么可以把它分成躲个子图,其中每个子图的内部是强连通的,而且这些子图已经扩展到最大,不能与子图外的任一点强连通,成这样的一个“极大连通”子图是G的一个强连通分量(SCC)。强连通分量的一些性质:(1)一个点必须有出度和入度,才会
- 算法随笔:Floyd
bughunter-
#算法随笔算法数据结构图论最短路多源最短路Floyd传递闭包问题
Floyd算法是一种对所有点对最短路径算法、多源最短路径算法,以此计算能得到图中每一对节点之间的最短路径。Floyd不仅可以用来求多源最短路,也可以用于解决传递闭包问题。算法思想:Floyd求最短路径用的是“从小图到全图”的动态规划思想,定义状态dp[k][i][j],i、j、k都为节点编号,范围为1~n。状态dp[k][i][j]表示在包含1~k点的子图上,点对i、j的最短路径。当从子图1~k-
- 算法随笔:点双连通分量&边双连通分量
bughunter-
#算法随笔算法数据结构图论
点双连通分量概念及性质:在一个连通图中任选两点,如果它们之间至少存在两条“点不重复”的路径,则称为点双连通分量。在这个图上去掉任意一个点,整个图仍然连通。即点双连通分量中不存在割点。不同的点双连通分量最多只有一个公共点,即某个割点;任意割点都是至少两个点双连通分量的公共点。在一个无向图中求点双连通分量数量的方法:容易发现,在找到一个割点时,已经完成了一次对某个极大点双连通子图的访问。那么我们在DF
- 算法随笔:关于树的一些常见基本问题总结
bughunter-
#算法随笔算法数据结构
1、判断一个图是否为树判断步骤有向图(转换为有根图)无向图(转换为无根图)找树根计算出每个节点的入边和出边数量。树根是只有出边没有入边的点。基于有向图的树只是一个树根,如果找不到树根,或者找到了多个树根,说明这不是一棵树。任何节点都可以当作树根。检查父子关系从根开始DFS遍历图,要求每个点都得被访问一次,且只能访问一次,这代表每个节点只有一个父节点。相同检查连通性在DFS的过程中,检查是否所有的点
- 算法随笔:图论问题之割点割边
bughunter-
#算法随笔算法数据结构
割点定义割点的定义:如果一个点被删除之后会导致整个图不再是一个连通图,那么这个顶点就是这个图的割点。举例:上图中的点2就是一个割点,如果它被删除,则整个图被分为两个连通分量,不再是一个连通图。求割点的方法最直观容易想到的一种简单朴素的方法:依次删除每一个顶点,然后用dfs或者bfs来检查图是否依然连通。如果删除某个顶点后,导致图不再连通,那么刚才删除的顶点就是割点。这种方法的时间复杂度是O(N(N
- mongodb3.03开启认证
21jhf
mongodb
下载了最新mongodb3.03版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下:
(百度上搜到的基本都是老版本的,看到db.addUser的就是,请忽略)
Windows下我做了一个bat文件,用来启动mongodb,命令行如下:
mongod --dbpath db\data --port 27017 --directoryperdb --logp
- 【Spark103】Task not serializable
bit1129
Serializable
Task not serializable是Spark开发过程最令人头疼的问题之一,这里记录下出现这个问题的两个实例,一个是自己遇到的,另一个是stackoverflow上看到。等有时间了再仔细探究出现Task not serialiazable的各种原因以及出现问题后如何快速定位问题的所在,至少目前阶段碰到此类问题,没有什么章法
1.
package spark.exampl
- 你所熟知的 LRU(最近最少使用)
dalan_123
java
关于LRU这个名词在很多地方或听说,或使用,接下来看下lru缓存回收的实现
1、大体的想法
a、查询出最近最晚使用的项
b、给最近的使用的项做标记
通过使用链表就可以完成这两个操作,关于最近最少使用的项只需要返回链表的尾部;标记最近使用的项,只需要将该项移除并放置到头部,那么难点就出现 你如何能够快速在链表定位对应的该项?
这时候多
- Javascript 跨域
周凡杨
JavaScriptjsonp跨域cross-domain
- linux下安装apache服务器
g21121
apache
安装apache
下载windows版本apache,下载地址:http://httpd.apache.org/download.cgi
1.windows下安装apache
Windows下安装apache比较简单,注意选择路径和端口即可,这里就不再赘述了。 2.linux下安装apache:
下载之后上传到linux的相关目录,这里指定为/home/apach
- FineReport的JS编辑框和URL地址栏语法简介
老A不折腾
finereportweb报表报表软件语法总结
JS编辑框:
1.FineReport的js。
作为一款BS产品,browser端的JavaScript是必不可少的。
FineReport中的js是已经调用了finereport.js的。
大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入FineReport的js,这个finereport.js中包含了许多内置的fun
- 根据STATUS信息对MySQL进行优化
墙头上一根草
status
mysql 查看当前正在执行的操作,即正在执行的sql语句的方法为:
show processlist 命令
mysql> show global status;可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%';一、慢查询mysql> show variab
- 我的spring学习笔记7-Spring的Bean配置文件给Bean定义别名
aijuans
Spring 3
本文介绍如何给Spring的Bean配置文件的Bean定义别名?
原始的
<bean id="business" class="onlyfun.caterpillar.device.Business">
<property name="writer">
<ref b
- 高性能mysql 之 性能剖析
annan211
性能mysqlmysql 性能剖析剖析
1 定义性能优化
mysql服务器性能,此处定义为 响应时间。
在解释性能优化之前,先来消除一个误解,很多人认为,性能优化就是降低cpu的利用率或者减少对资源的使用。
这是一个陷阱。
资源时用来消耗并用来工作的,所以有时候消耗更多的资源能够加快查询速度,保持cpu忙绿,这是必要的。很多时候发现
编译进了新版本的InnoDB之后,cpu利用率上升的很厉害,这并不
- 主外键和索引唯一性约束
百合不是茶
索引唯一性约束主外键约束联机删除
目标;第一步;创建两张表 用户表和文章表
第二步;发表文章
1,建表;
---用户表 BlogUsers
--userID唯一的
--userName
--pwd
--sex
create
- 线程的调度
bijian1013
java多线程thread线程的调度java多线程
1. Java提供一个线程调度程序来监控程序中启动后进入可运行状态的所有线程。线程调度程序按照线程的优先级决定应调度哪些线程来执行。
2. 多数线程的调度是抢占式的(即我想中断程序运行就中断,不需要和将被中断的程序协商)
a)
- 查看日志常用命令
bijian1013
linux命令unix
一.日志查找方法,可以用通配符查某台主机上的所有服务器grep "关键字" /wls/applogs/custom-*/error.log
二.查看日志常用命令1.grep '关键字' error.log:在error.log中搜索'关键字'2.grep -C10 '关键字' error.log:显示关键字前后10行记录3.grep '关键字' error.l
- 【持久化框架MyBatis3一】MyBatis版HelloWorld
bit1129
helloworld
MyBatis这个系列的文章,主要参考《Java Persistence with MyBatis 3》。
样例数据
本文以MySQL数据库为例,建立一个STUDENTS表,插入两条数据,然后进行单表的增删改查
CREATE TABLE STUDENTS
(
stud_id int(11) NOT NULL AUTO_INCREMENT,
- 【Hadoop十五】Hadoop Counter
bit1129
hadoop
1. 只有Map任务的Map Reduce Job
File System Counters
FILE: Number of bytes read=3629530
FILE: Number of bytes written=98312
FILE: Number of read operations=0
FILE: Number of lar
- 解决Tomcat数据连接池无法释放
ronin47
tomcat 连接池 优化
近段时间,公司的检测中心报表系统(SMC)的开发人员时不时找到我,说用户老是出现无法登录的情况。前些日子因为手头上 有Jboss集群的测试工作,发现用户不能登录时,都是在Tomcat中将这个项目Reload一下就好了,不过只是治标而已,因为大概几个小时之后又会 再次出现无法登录的情况。
今天上午,开发人员小毛又找到我,要我协助将这个问题根治一下,拖太久用户难保不投诉。
简单分析了一
- java-75-二叉树两结点的最低共同父结点
bylijinnan
java
import java.util.LinkedList;
import java.util.List;
import ljn.help.*;
public class BTreeLowestParentOfTwoNodes {
public static void main(String[] args) {
/*
* node data is stored in
- 行业垂直搜索引擎网页抓取项目
carlwu
LuceneNutchHeritrixSolr
公司有一个搜索引擎项目,希望各路高人有空来帮忙指导,谢谢!
这是详细需求:
(1) 通过提供的网站地址(大概100-200个网站),网页抓取程序能不断抓取网页和其它类型的文件(如Excel、PDF、Word、ppt及zip类型),并且程序能够根据事先提供的规则,过滤掉不相干的下载内容。
(2) 程序能够搜索这些抓取的内容,并能对这些抓取文件按照油田名进行分类,然后放到服务器不同的目录中。
- [通讯与服务]在总带宽资源没有大幅增加之前,不适宜大幅度降低资费
comsci
资源
降低通讯服务资费,就意味着有更多的用户进入,就意味着通讯服务提供商要接待和服务更多的用户,在总体运维成本没有由于技术升级而大幅下降的情况下,这种降低资费的行为将导致每个用户的平均带宽不断下降,而享受到的服务质量也在下降,这对用户和服务商都是不利的。。。。。。。。
&nbs
- Java时区转换及时间格式
Cwind
java
本文介绍Java API 中 Date, Calendar, TimeZone和DateFormat的使用,以及不同时区时间相互转化的方法和原理。
问题描述:
向处于不同时区的服务器发请求时需要考虑时区转换的问题。譬如,服务器位于东八区(北京时间,GMT+8:00),而身处东四区的用户想要查询当天的销售记录。则需把东四区的“今天”这个时间范围转换为服务器所在时区的时间范围。
- readonly,只读,不可用
dashuaifu
jsjspdisablereadOnlyreadOnly
readOnly 和 readonly 不同,在做js开发时一定要注意函数大小写和jsp黄线的警告!!!我就经历过这么一件事:
使用readOnly在某些浏览器或同一浏览器不同版本有的可以实现“只读”功能,有的就不行,而且函数readOnly有黄线警告!!!就这样被折磨了不短时间!!!(期间使用过disable函数,但是发现disable函数之后后台接收不到前台的的数据!!!)
- LABjs、RequireJS、SeaJS 介绍
dcj3sjt126com
jsWeb
LABjs 的核心是 LAB(Loading and Blocking):Loading 指异步并行加载,Blocking 是指同步等待执行。LABjs 通过优雅的语法(script 和 wait)实现了这两大特性,核心价值是性能优化。LABjs 是一个文件加载器。RequireJS 和 SeaJS 则是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更
- [应用结构]入口脚本
dcj3sjt126com
PHPyii2
入口脚本
入口脚本是应用启动流程中的第一环,一个应用(不管是网页应用还是控制台应用)只有一个入口脚本。终端用户的请求通过入口脚本实例化应用并将将请求转发到应用。
Web 应用的入口脚本必须放在终端用户能够访问的目录下,通常命名为 index.php,也可以使用 Web 服务器能定位到的其他名称。
控制台应用的入口脚本一般在应用根目录下命名为 yii(后缀为.php),该文
- haoop shell命令
eksliang
hadoophadoop shell
cat
chgrp
chmod
chown
copyFromLocal
copyToLocal
cp
du
dus
expunge
get
getmerge
ls
lsr
mkdir
movefromLocal
mv
put
rm
rmr
setrep
stat
tail
test
text
- MultiStateView不同的状态下显示不同的界面
gundumw100
android
只要将指定的view放在该控件里面,可以该view在不同的状态下显示不同的界面,这对ListView很有用,比如加载界面,空白界面,错误界面。而且这些见面由你指定布局,非常灵活。
PS:ListView虽然可以设置一个EmptyView,但使用起来不方便,不灵活,有点累赘。
<com.kennyc.view.MultiStateView xmlns:android=&qu
- jQuery实现页面内锚点平滑跳转
ini
JavaScripthtmljqueryhtml5css
平时我们做导航滚动到内容都是通过锚点来做,刷的一下就直接跳到内容了,没有一丝的滚动效果,而且 url 链接最后会有“小尾巴”,就像#keleyi,今天我就介绍一款 jquery 做的滚动的特效,既可以设置滚动速度,又可以在 url 链接上没有“小尾巴”。
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/37.htmHTML文件代码:
&
- kafka offset迁移
kane_xie
kafka
在早前的kafka版本中(0.8.0),offset是被存储在zookeeper中的。
到当前版本(0.8.2)为止,kafka同时支持offset存储在zookeeper和offset manager(broker)中。
从官方的说明来看,未来offset的zookeeper存储将会被弃用。因此现有的基于kafka的项目如果今后计划保持更新的话,可以考虑在合适
- android > 搭建 cordova 环境
mft8899
android
1 , 安装 node.js
http://nodejs.org
node -v 查看版本
2, 安装 npm
可以先从 https://github.com/isaacs/npm/tags 下载 源码 解压到
- java封装的比较器,比较是否全相同,获取不同字段名字
qifeifei
非常实用的java比较器,贴上代码:
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
i
- 记录一些函数用法
.Aky.
位运算PHP数据库函数IP
高手们照旧忽略。
想弄个全天朝IP段数据库,找了个今天最新更新的国内所有运营商IP段,copy到文件,用文件函数,字符串函数把玩下。分割出startIp和endIp这样格式写入.txt文件,直接用phpmyadmin导入.csv文件的形式导入。(生命在于折腾,也许你们觉得我傻X,直接下载人家弄好的导入不就可以,做自己的菜鸟,让别人去说吧)
当然用到了ip2long()函数把字符串转为整型数
- sublime text 3 rust
wudixiaotie
Sublime Text
1.sublime text 3 => install package => Rust
2.cd ~/.config/sublime-text-3/Packages
3.mkdir rust
4.git clone https://github.com/sp0/rust-style
5.cd rust-style
6.cargo build --release
7.ctrl