昨天太晚了,没有来得及记录昨天的两道题。今天补上呀。
题目描述:
解题思路:
这道题是一个典型的动态规划问题,但是可以有多种方法。
1、递归,但是会超时hhhh
2、动态规划,应该是最简单的dp问题啦。dp[i][j]表示第i行j列的路径数。
状态转移方程:dp[i][j] = dp[i-1][j] + dp[i][j-1];
3、排列组合问题。从左上角到右下角,一共需要走m+n-2步,可以选择min(m-1,n-1)步向上或向下走。
下面是代码
1、超时的递归代码:
class Solution {
public:
int uniquePaths(int m, int n) {
if(m==0 || n==0) return 0;
if(m==1 || n==1) return 1;
return uniquePaths(m-1,n)+uniquePaths(m,n-1);
}
};
2、动态规划代码
class Solution {
public:
int uniquePaths(int m, int n) {
vector> dp(m, vector(n,1));
for(int i=1; i
3、排列组合。这个里面学到了很多呀,学会了如何用一个for写Cnm,考虑乘的次数,考虑除不尽情况
class Solution {
public:
int uniquePaths(int m, int n) {
int N = m+n-2;
int M = min(m-1,n-1);
long long ans = 1;
for(int i=1; i<=M; i++)
ans = ans * (N-i+1) / i;
return ans;
}
};
LeetCode162:寻找峰值(C++)
题目描述:
峰值元素是指其值大于左右相邻值的元素。
给定一个输入数组 nums
,其中 nums[i] ≠ nums[i+1]
,找到峰值元素并返回其索引。
数组可能包含多个峰值,在这种情况下,返回任何一个峰值所在位置即可。
你可以假设 nums[-1] = nums[n] = -∞
解题思路:
二分法,因为只需要找到一个峰值就可以了。
已通过代码:
class Solution {
public:
int findPeakElement(vector& nums) {
int left=0, right = nums.size()-1;
while(left < right) {
int mid = left + (right-left)/2;
if(nums[mid] > nums[mid+1])
right = mid;
else left = mid+1;
}
return left;
}
};
你可能感兴趣的:(Leetcode)
- LeetCode刷题 2.两数相加
_深海凉_
LeetCode
题目要求:给出两个非空的链表用来表示两个非负的整数。其中,它们各自的位数是按照逆序的方式存储的,并且它们的每个节点只能存储一位数字。如果,我们将这两个数相加起来,则会返回一个新的链表来表示它们的和。您可以假设除了数字0之外,这两个数都不会以0开头。示例:输入:(2->4->3)+(5->6->4)输出:7->0->8原因:342+465=807思路:我们同时遍历两个链表,逐位计算它们的和,并与当前
- 基础算法训练2
祁小白2024
基础算法算法java广度优先
基础算法1链接目录最长公共前缀两数之和删除字符串中所有相邻重复项n叉树的层序遍历最后一块石头的重量第N个泰波那契数图像渲染迷宫中离入口最近的出口矩阵课程表最长公共前缀14.最长公共前缀-力扣(LeetCode)在解决这道题时,巧妙运用String类的两个方法,能让解题过程变得十分轻松。首先,我们需要确定一个查找公共前缀的标准。这里,我们选择数组中的第一个字符串作为标准。不过,在此之前,必须对边界情
- leetcode[1447]最简分数 python3实现 (判断互质,gcd求最大公约数)
zhang35
LeetCodeleetcode算法
#给你一个整数n,请你返回所有0到1之间(不包括0和1)满足分母小于等于n的最简分数。分数可以以任意顺序返回。####示例1:##输入:n=2#输出:["1/2"]#解释:"1/2"是唯一一个分母小于等于2的最简分数。##示例2:##输入:n=3#输出:["1/2","1/3","2/3"]###示例3:
- LeetCode 2380 二进制字符串重新安排顺序需要的时间
雾月55
java数据结构开发语言leetcode算法职场和发展
二进制字符串替换问题:计算消除"01"所需秒数题目描述给定一个二进制字符串s,每秒将所有子字符串"01"同时替换为"10",直到字符串中不再存在"01"。求完成这个过程所需的秒数。输入输出示例输入:s="0101"输出:2解释:第1秒:"0101"→"1010"第2秒:"1010"→"1100"解题思路分析1.暴力模拟法最直观的思路是模拟替换过程:遍历字符串,找到所有"01"并替换为"10"。每次
- LeetCode 191 位1的个数
雾月55
leetcode数据结构算法
计算正整数二进制表示中汉明重量的两种实现方式对比在编程的世界里,我们常常会遇到一些有趣又实用的小问题,今天就来和大家分享一下如何计算一个正整数二进制表示中设置位(也就是1的个数,专业术语叫汉明重量)的问题。这看似简单,实则里面也有不少门道呢,下面我就带大家一起来看看两种不同的实现方式以及它们各自的特点。一、最初的实现方式及分析先来看下面这段Java代码,它的目的就是计算给定正整数n的二进制表示中1
- LeetCode 1447. 最简分数题解
小明不要写Bug
LeetCode每日一题题解
1447.最简分数题解题目来源:1447.最简分数2022.02.10每日一题本题大意是求解最简分数,即判断两个数字是否有非1的公因数如果没有则i/ji/ji/j是最简分数,反之则不是有以下几种常见的求解公因数的方法辗转相除法:辗转相除法是求两个自然数的最大公约数的一种方法,也叫欧几里德算法。更相减损法:也叫更相减损术,是出自《九章算术》的一种求最大公约数的算法,它原本是为约分而设计的,但它适用于
- 【算法day7】 Z 字形变换 (O2算法思路整理)
舔甜歌姬的EGUMI LEGACY
算法算法
Z字形变换,算法思路整理https://leetcode.cn/problems/zigzag-conversion/将一个给定字符串s根据给定的行数numRows,以从上往下、从左到右进行Z字形排列。比如输入字符串为“PAYPALISHIRING”行数为3时,排列如下:PAHNAPLSIIGYIR之后,你的输出需要从左往右逐行读取,产生出一个新的字符串,比如:“PAHNAPLSIIGYIR”。请
- LeetCode 1447.最简分数
多喝氧烷_
Leetcode题解leetcode算法c语言
给你一个整数n,请你返回所有0到1之间(不包括0和1)满足分母小于等于n的最简分数。分数可以以任意顺序返回。示例1:输入:n=2输出:["1/2"]解释:"1/2"是唯一一个分母小于等于2的最简分数。示例2:输入:n=3输出:["1/2","1/3","2/3"]示例3:输入:n=4输出:["1/2","1/3","1/4","2/3","3/4"]解释:"2/4"不是最简分数,因为它可以化简为"
- 【LeetCode1447.最简分数】从最简分数到辗转相除法的证明及算法实现
Lf_MrF
LeetCode刷题总结用Go刷力扣算法leetcodegolang
LeetCode1447-辗转相除法LeetCode1447.最简分数题目分析知识点总结辗转相除法数字转字符串Go代码实现LeetCode1447.最简分数给你一个整数nnn,请你返回所有000到111之间(不包括000和111)满足分母小于等于nnn的最简分数。分数可以以任意顺序返回。示例1:输入:n=2输出:[“1/2”]解释:“1/2”是唯一一个分母小于等于2的最简分数。题目分析这道题目可以
- LeetCode 1447 最简分数[枚举] HERODING的LeetCode之路
HERODING77
LeetCodeleetcode算法排序算法数据结构程序设计
解题思路:解决该问题一个非常简单的方法是枚举法,通过枚举所有符合条件的分数求得最后的集合,这里需要用到辗转相除法,以达到最简分数,而且通过这种方法不会重复。枚举所有的分母和分子,判断分子分母是否互质,然后放入ans数组中,代码如下:intgcd(inta,intb){returna%b==0?b:gcd(b,a%b);}classSolution{public:vectorsimplifiedFr
- LeetCode 1447 最简分数
雾月55
leetcode算法职场和发展
0到1之间的最简分数求解(Java实现)一、题目描述给定整数n,返回所有满足以下条件的分数:数值在(0,1)区间内(不包含0和1)分母小于等于n最简分数(分子分母互质)示例:输入n=4,输出["1/2","1/3","1/4","2/3","3/4"]二、核心思路分析1.数学本质最简分数的核心条件是分子与分母互质(最大公约数GCD为1)。遍历所有可能的分母d(2≤d≤n),对每个分母遍历分子n(1
- LeetCode第78题_子集
@蓝莓果粒茶
算法leetcode算法职场和发展矩阵数据结构c#c++
LeetCode第78题:子集题目描述给你一个整数数组nums,数组中的元素互不相同。返回该数组所有可能的子集(幂集)。解集不能包含重复的子集。你可以按任意顺序返回解集。难度中等问题链接子集示例示例1:输入:nums=[1,2,3]输出:[[],[1],[2],[1,2],[3],[1,3],[2,3],[1,2,3]]示例2:输入:nums=[0]输出:[[],[0]]提示1>result=ne
- 【leetcode hot 100 25】K个一组翻转链表
longii11
leetcode链表javascript
解法一:先计算链表的总个数。根据节点总数和当前处理的节点个数进行判断。classSolution{publicListNodereverseKGroup(ListNodehead,intk){ListNodereverse=newListNode();reverse.next=null;ListNodecurr_reverse=reverse;//计算链表总数intnum=0;ListNodecu
- Day7 25/2/20 THU
给bug两拳
每日技术博客算法
【一周刷爆LeetCode,算法大神左神(左程云)耗时100天打造算法与数据结构基础到高级全家桶教程,直击BTAJ等一线大厂必问算法面试题真题详解(马士兵)】https://www.bilibili.com/video/BV13g41157hK?p=4&vd_source=04ee94ad3f2168d7d5252c857a2bf358目录4、链表4.3链表的习题4.3.1例14.3.2例2及其进
- 【力扣hot100】刷题笔记Day13
小涛44
力扣hot100刷题笔记leetcode笔记算法职场和发展数据结构python
前言元宵节快乐~周六在图书馆快乐刷题!继续二叉树543.二叉树的直径-力扣(LeetCode)递归后序classSolution:defdiameterOfBinaryTree(self,root:Optional[TreeNode])->int:self.res=0#记录最长路径#递归求最大深度defdepth(node):ifnotnode:return0l=depth(node.left)#
- python-leetcode-删掉一个元素以后全为 1 的最长子数组
Joyner2018
leetcode算法职场和发展
1493.删掉一个元素以后全为1的最长子数组-力扣(LeetCode)可以使用滑动窗口的方式来解决这个问题。我们要找到最长的全1子数组,但必须删除一个元素,因此可以将问题转化为寻找最多包含一个0的最长子数组。解题思路使用双指针(滑动窗口),维护窗口内最多包含一个0。当窗口内的0超过1个时,移动左指针left直到窗口内0的数量恢复为1。记录窗口的最大长度,最终返回maxLen-1,因为必须删除一个元
- 28.代码随想录算法训练营第二十八天|122. 买卖股票的最佳时机 II,55. 跳跃游戏,45. 跳跃游戏 II,1005. K 次取反后最大化的数组和
白鹭鸣鸣!
算法java
28.代码随想录算法训练营第二十八天|122.买卖股票的最佳时机II,55.跳跃游戏,45.跳跃游戏II,1005.K次取反后最大化的数组和122.买卖股票的最佳时机II-力扣(LeetCode)给你一个整数数组prices,其中prices[i]表示某支股票第i天的价格。在每一天,你可以决定是否购买和/或出售股票。你在任何时候最多只能持有一股股票。你也可以先购买,然后在同一天出售。返回你能获得的
- leetcode 15.三数之和-详细注释(哈希法,双指针法)
kon-kon
leetcode算法职场和发展
15.三数之和-力扣(LeetCode)给定一个数组=[a,b,c,d,e,...],找到满足a+b+c=0的三元组{a,b,c}。首先明确遇到一道编程题的解题思路。1.首先思考暴力解法-也就是遍历所有组合,找出符合条件的组合形成答案。很容易想到使用三个循环,列举出所有的3个数的组合。首先固定第一个数,然后从第一个数后面固定第二个数,再从第二个数之后固定第三个数。例如,第一个选a,第二个要从a后面
- 代码随想录|二叉树|06翻转二叉树
Paper Clouds
算法数据结构c++leetcode
leetcode:226.翻转二叉树-力扣(LeetCode)题目翻转一棵二叉树。思路整棵树以root节点所处的中轴线为轴进行翻转,我们需要做的就是翻转每一个节点的左右孩子。我们在遍历的过程中进行翻转,那么递归和迭代都是可以做的。递归法递归三部曲(1)确定递归函数的参数和返回值参数就是根节点root,返回的也是根节点,所以是TreeNode型。(2)确定终止条件当前节点为空的时候就返回。(3)递归
- Python实现链表反转:迭代与递归双解法详解
达不溜先生 ୧⍢⃝୨
python数据结构链表算法leetcode
目录一、问题描述二、核心代码实现2.1迭代法实现迭代法中的prev初始值是None的原因:关键步骤图解2.2递归法实现递归法中要设置head.next=None的原因递归过程拆解三、方法对比与选择建议一、问题描述链表反转是数据结构中的基础算法问题,常见于面试和算法题库(如LeetCode#206)。要求将单向链表的节点顺序完全倒置二、核心代码实现2.1迭代法实现时间复杂度:O(n)空间复杂度:O(
- leetcode-sql数据库面试题冲刺(高频SQL五十题)
我想吃烤肉肉
sql测试面试数据库leetcodesql
题目:2356.每位教师所教授的科目种类的数量表:Teacher±------------±-----+|ColumnName|Type|±------------±-----+|teacher_id|int||subject_id|int||dept_id|int|±------------±-----+在SQL中,(subject_id,dept_id)是该表的主键。该表中的每一行都表示带有t
- LeetCode hot 100—二叉树的层序遍历
rigidwill666
leetcodeleetcode算法数据结构
题目给你二叉树的根节点root,返回其节点值的层序遍历。(即逐层地,从左到右访问所有节点)。示例示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[9,20],[15,7]]示例2:输入:root=[1]输出:[[1]]示例3:输入:root=[]输出:[]分析二叉树的层序遍历可以借助队列来实现。层序遍历的核心思路是从根节点开始,依次访问每一层的节点,并且从左到
- 【贪心算法】柠檬水找零
I_Am_Me_
贪心算法贪心算法算法
1.题目解析860.柠檬水找零-力扣(LeetCode)2.讲解算法原理分情况讨论5---》直接收下10---》找五元,收下20----》10+5△----》5+5+5由于5元更有用,则尽可能保留5元3.代码classSolution{publicbooleanlemonadeChange(int[]bills){intfive=0,ten=0;for(intx:bills){if(x==5){f
- leetcode 贪心算法
gufly-
leetcode贪心算法算法
刷题记录以局部最优推出整体最优,且想不到反例,则可以尝试贪心算法455.分发饼干从后向前遍历孩子数组,用大饼干满足胃口大,并统计满足小孩数量classSolution(object):deffindContentChildren(self,g,s):g.sort()s.sort()res=0ind=len(s)-1foriinrange(len(g)-1,-1,-1):ifind>=0ands[i
- LeetCode刷题实战522:最长特殊序列 II
编程IT圈
字符串算法leetcodejava数据结构
算法的重要性,我就不多说了吧,想去大厂,就必须要经过基础知识和业务逻辑面试+算法面试。所以,为了提高大家的算法能力,这个公众号后续每天带大家做一道算法题,题目就从LeetCode上面选!今天和大家聊的问题叫做最长特殊序列II,我们先来看题面:https://leetcode-cn.com/problems/longest-uncommon-subsequence-ii/Givenanarrayof
- LeetCode刷题实战:删除字符串中的所有相邻重复项(栈的经典应用)
sprite_雪碧
leetcode算法数据结构
题目描述题目链接:1047.删除字符串中的所有相邻重复项-力扣(LeetCode)给定一个由小写字母组成的字符串s,重复项删除操作会选择两个相邻且相同的字符并删除它们。此操作反复进行,直到无法继续删除。返回最终的字符串。答案保证唯一。输入:s="abbaca"输出:"ca"解释:删除"bb"得到"aaca",再删除"aa"得到"ca"。问题分析与解法思路暴力解法的缺陷最直观的暴力解法是重复扫描字符
- 搜索插入位置(js实现,LeetCode:35)
充气大锤
算法leetcode算法数据结构学习笔记javascript二分查找
给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引。如果目标值不存在于数组中,返回它将会被按顺序插入的位置。请必须使用时间复杂度为O(logn)的算法。示例1:输入:nums=[1,3,5,6],target=5输出:2示例2:输入:nums=[1,3,5,6],target=2输出:1示例3:输入:nums=[1,3,5,6],target=7输出:4提示:1<=nums.lengt
- 力扣hot100二刷——哈希、双指针、滑动窗口
钢板兽
手撕算法leetcode哈希算法算法面试
第二次刷题不在idea写代码,而是直接在leetcode网站上写,“逼”自己掌握常用的函数。标志掌握程度解释办法⭐Fully完全掌握看到题目就有思路,编程也很流利⭐⭐Basically基本掌握需要稍作思考,或者看到提示方法后能解答⭐⭐⭐Slightly稍微掌握需要看之前写过的代码才能想起怎么做多做⭐⭐⭐⭐absolutelyno完全没有掌握需要看题解才知道怎么做背⭐⭐⭐⭐⭐有难度的高频题需要看题解
- LeetCode——726. 原子的数量(Number of Atoms)[困难]——分析及代码(Java)
江南土豆
数据结构与算法LeetCodeJava题解
LeetCode——726.原子的数量[NumberofAtoms][困难]——分析及代码[Java]一、题目二、分析及代码1.栈+哈希表+有序集合(1)思路(2)代码(3)结果三、其他一、题目给定一个化学式formula(作为字符串),返回每种原子的数量。原子总是以一个大写字母开始,接着跟随0个或任意个小写字母,表示原子的名字。如果数量大于1,原子后会跟着数字表示原子的数量。如果数量等于1则不会
- 字符串相乘——大整数乘法
菜鸟日常
算法
概述给定两个以字符串形式表示的非负整数num1和num2,返回num1和num2的乘积,它们的乘积也表示为字符串形式。输入:num1=“2”,num2=“3”输出:“6”来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/multiply-strings著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。思路常规思路:1234*45
- 遍历dom 并且存储(将每一层的DOM元素存在数组中)
换个号韩国红果果
JavaScripthtml
数组从0开始!!
var a=[],i=0;
for(var j=0;j<30;j++){
a[j]=[];//数组里套数组,且第i层存储在第a[i]中
}
function walkDOM(n){
do{
if(n.nodeType!==3)//筛选去除#text类型
a[i].push(n);
//con
- Android+Jquery Mobile学习系列(9)-总结和代码分享
白糖_
JQuery Mobile
目录导航
经过一个多月的边学习边练手,学会了Android基于Web开发的毛皮,其实开发过程中用Android原生API不是很多,更多的是HTML/Javascript/Css。
个人觉得基于WebView的Jquery Mobile开发有以下优点:
1、对于刚从Java Web转型过来的同学非常适合,只要懂得HTML开发就可以上手做事。
2、jquerym
- impala参考资料
dayutianfei
impala
记录一些有用的Impala资料
1. 入门资料
>>官网翻译:
http://my.oschina.net/weiqingbin/blog?catalog=423691
2. 实用进阶
>>代码&架构分析:
Impala/Hive现状分析与前景展望:http
- JAVA 静态变量与非静态变量初始化顺序之新解
周凡杨
java静态非静态顺序
今天和同事争论一问题,关于静态变量与非静态变量的初始化顺序,谁先谁后,最终想整理出来!测试代码:
import java.util.Map;
public class T {
public static T t = new T();
private Map map = new HashMap();
public T(){
System.out.println(&quo
- 跳出iframe返回外层页面
g21121
iframe
在web开发过程中难免要用到iframe,但当连接超时或跳转到公共页面时就会出现超时页面显示在iframe中,这时我们就需要跳出这个iframe到达一个公共页面去。
首先跳转到一个中间页,这个页面用于判断是否在iframe中,在页面加载的过程中调用如下代码:
<script type="text/javascript">
//<!--
function
- JAVA多线程监听JMS、MQ队列
510888780
java多线程
背景:消息队列中有非常多的消息需要处理,并且监听器onMessage()方法中的业务逻辑也相对比较复杂,为了加快队列消息的读取、处理速度。可以通过加快读取速度和加快处理速度来考虑。因此从这两个方面都使用多线程来处理。对于消息处理的业务处理逻辑用线程池来做。对于加快消息监听读取速度可以使用1.使用多个监听器监听一个队列;2.使用一个监听器开启多线程监听。
对于上面提到的方法2使用一个监听器开启多线
- 第一个SpringMvc例子
布衣凌宇
spring mvc
第一步:导入需要的包;
第二步:配置web.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi=
- 我的spring学习笔记15-容器扩展点之PropertyOverrideConfigurer
aijuans
Spring3
PropertyOverrideConfigurer类似于PropertyPlaceholderConfigurer,但是与后者相比,前者对于bean属性可以有缺省值或者根本没有值。也就是说如果properties文件中没有某个bean属性的内容,那么将使用上下文(配置的xml文件)中相应定义的值。如果properties文件中有bean属性的内容,那么就用properties文件中的值来代替上下
- 通过XSD验证XML
antlove
xmlschemaxsdvalidationSchemaFactory
1. XmlValidation.java
package xml.validation;
import java.io.InputStream;
import javax.xml.XMLConstants;
import javax.xml.transform.stream.StreamSource;
import javax.xml.validation.Schem
- 文本流与字符集
百合不是茶
PrintWrite()的使用字符集名字 别名获取
文本数据的输入输出;
输入;数据流,缓冲流
输出;介绍向文本打印格式化的输出PrintWrite();
package 文本流;
import java.io.FileNotFound
- ibatis模糊查询sqlmap-mapping-**.xml配置
bijian1013
ibatis
正常我们写ibatis的sqlmap-mapping-*.xml文件时,传入的参数都用##标识,如下所示:
<resultMap id="personInfo" class="com.bijian.study.dto.PersonDTO">
<res
- java jvm常用命令工具——jdb命令(The Java Debugger)
bijian1013
javajvmjdb
用来对core文件和正在运行的Java进程进行实时地调试,里面包含了丰富的命令帮助您进行调试,它的功能和Sun studio里面所带的dbx非常相似,但 jdb是专门用来针对Java应用程序的。
现在应该说日常的开发中很少用到JDB了,因为现在的IDE已经帮我们封装好了,如使用ECLI
- 【Spring框架二】Spring常用注解之Component、Repository、Service和Controller注解
bit1129
controller
在Spring常用注解第一步部分【Spring框架一】Spring常用注解之Autowired和Resource注解(http://bit1129.iteye.com/blog/2114084)中介绍了Autowired和Resource两个注解的功能,它们用于将依赖根据名称或者类型进行自动的注入,这简化了在XML中,依赖注入部分的XML的编写,但是UserDao和UserService两个bea
- cxf wsdl2java生成代码super出错,构造函数不匹配
bitray
super
由于过去对于soap协议的cxf接触的不是很多,所以遇到了也是迷糊了一会.后来经过查找资料才得以解决. 初始原因一般是由于jaxws2.2规范和jdk6及以上不兼容导致的.所以要强制降为jaxws2.1进行编译生成.我们需要少量的修改:
我们原来的代码
wsdl2java com.test.xxx -client http://.....
修改后的代
- 动态页面正文部分中文乱码排障一例
ronin47
公司网站一部分动态页面,早先使用apache+resin的架构运行,考虑到高并发访问下的响应性能问题,在前不久逐步开始用nginx替换掉了apache。 不过随后发现了一个问题,随意进入某一有分页的网页,第一页是正常的(因为静态化过了);点“下一页”,出来的页面两边正常,中间部分的标题、关键字等也正常,唯独每个标题下的正文无法正常显示。 因为有做过系统调整,所以第一反应就是新上
- java-54- 调整数组顺序使奇数位于偶数前面
bylijinnan
java
import java.util.Arrays;
import java.util.Random;
import ljn.help.Helper;
public class OddBeforeEven {
/**
* Q 54 调整数组顺序使奇数位于偶数前面
* 输入一个整数数组,调整数组中数字的顺序,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半
- 从100PV到1亿级PV网站架构演变
cfyme
网站架构
一个网站就像一个人,存在一个从小到大的过程。养一个网站和养一个人一样,不同时期需要不同的方法,不同的方法下有共同的原则。本文结合我自已14年网站人的经历记录一些架构演变中的体会。 1:积累是必不可少的
架构师不是一天练成的。
1999年,我作了一个个人主页,在学校内的虚拟空间,参加了一次主页大赛,几个DREAMWEAVER的页面,几个TABLE作布局,一个DB连接,几行PHP的代码嵌入在HTM
- [宇宙时代]宇宙时代的GIS是什么?
comsci
Gis
我们都知道一个事实,在行星内部的时候,因为地理信息的坐标都是相对固定的,所以我们获取一组GIS数据之后,就可以存储到硬盘中,长久使用。。。但是,请注意,这种经验在宇宙时代是不能够被继续使用的
宇宙是一个高维时空
- 详解create database命令
czmmiao
database
完整命令
CREATE DATABASE mynewdb USER SYS IDENTIFIED BY sys_password USER SYSTEM IDENTIFIED BY system_password LOGFILE GROUP 1 ('/u01/logs/my/redo01a.log','/u02/logs/m
- 几句不中听却不得不认可的话
datageek
1、人丑就该多读书。
2、你不快乐是因为:你可以像猪一样懒,却无法像只猪一样懒得心安理得。
3、如果你太在意别人的看法,那么你的生活将变成一件裤衩,别人放什么屁,你都得接着。
4、你的问题主要在于:读书不多而买书太多,读书太少又特爱思考,还他妈话痨。
5、与禽兽搏斗的三种结局:(1)、赢了,比禽兽还禽兽。(2)、输了,禽兽不如。(3)、平了,跟禽兽没两样。结论:选择正确的对手很重要。
6
- 1 14:00 PHP中的“syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM”错误
dcj3sjt126com
PHP
原文地址:http://www.kafka0102.com/2010/08/281.html
因为需要,今天晚些在本机使用PHP做些测试,PHP脚本依赖了一堆我也不清楚做什么用的库。结果一跑起来,就报出类似下面的错误:“Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /home/kafka/test/
- xcode6 Auto layout and size classes
dcj3sjt126com
ios
官方GUI
https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/AutolayoutPG/Introduction/Introduction.html
iOS中使用自动布局(一)
http://www.cocoachina.com/ind
- 通过PreparedStatement批量执行sql语句【sql语句相同,值不同】
梦见x光
sql事务批量执行
比如说:我有一个List需要添加到数据库中,那么我该如何通过PreparedStatement来操作呢?
public void addCustomerByCommit(Connection conn , List<Customer> customerList)
{
String sql = "inseret into customer(id
- 程序员必知必会----linux常用命令之十【系统相关】
hanqunfeng
Linux常用命令
一.linux快捷键
Ctrl+C : 终止当前命令
Ctrl+S : 暂停屏幕输出
Ctrl+Q : 恢复屏幕输出
Ctrl+U : 删除当前行光标前的所有字符
Ctrl+Z : 挂起当前正在执行的进程
Ctrl+L : 清除终端屏幕,相当于clear
二.终端命令
clear : 清除终端屏幕
reset : 重置视窗,当屏幕编码混乱时使用
time com
- NGINX
IXHONG
nginx
pcre 编译安装 nginx
conf/vhost/test.conf
upstream admin {
server 127.0.0.1:8080;
}
server {
listen 80;
&
- 设计模式--工厂模式
kerryg
设计模式
工厂方式模式分为三种:
1、普通工厂模式:建立一个工厂类,对实现了同一个接口的一些类进行实例的创建。
2、多个工厂方法的模式:就是对普通工厂方法模式的改进,在普通工厂方法模式中,如果传递的字符串出错,则不能正确创建对象,而多个工厂方法模式就是提供多个工厂方法,分别创建对象。
3、静态工厂方法模式:就是将上面的多个工厂方法模式里的方法置为静态,
- Spring InitializingBean/init-method和DisposableBean/destroy-method
mx_xiehd
javaspringbeanxml
1.initializingBean/init-method
实现org.springframework.beans.factory.InitializingBean接口允许一个bean在它的所有必须属性被BeanFactory设置后,来执行初始化的工作,InitialzingBean仅仅指定了一个方法。
通常InitializingBean接口的使用是能够被避免的,(不鼓励使用,因为没有必要
- 解决Centos下vim粘贴内容格式混乱问题
qindongliang1922
centosvim
有时候,我们在向vim打开的一个xml,或者任意文件中,拷贝粘贴的代码时,格式莫名其毛的就混乱了,然后自己一个个再重新,把格式排列好,非常耗时,而且很不爽,那么有没有办法避免呢? 答案是肯定的,设置下缩进格式就可以了,非常简单: 在用户的根目录下 直接vi ~/.vimrc文件 然后将set pastetoggle=<F9> 写入这个文件中,保存退出,重新登录,
- netty大并发请求问题
tianzhihehe
netty
多线程并发使用同一个channel
java.nio.BufferOverflowException: null
at java.nio.HeapByteBuffer.put(HeapByteBuffer.java:183) ~[na:1.7.0_60-ea]
at java.nio.ByteBuffer.put(ByteBuffer.java:832) ~[na:1.7.0_60-ea]
- Hadoop NameNode单点问题解决方案之一 AvatarNode
wyz2009107220
NameNode
我们遇到的情况
Hadoop NameNode存在单点问题。这个问题会影响分布式平台24*7运行。先说说我们的情况吧。
我们的团队负责管理一个1200节点的集群(总大小12PB),目前是运行版本为Hadoop 0.20,transaction logs写入一个共享的NFS filer(注:NetApp NFS Filer)。
经常遇到需要中断服务的问题是给hadoop打补丁。 DataNod