- 剑指offer面试题29. 顺时针打印矩阵(边界问题)
程旭员
剑指offer顺时针打印矩阵边界问题剑指offerPython
题目描述输入一个矩阵,按照从外向里以顺时针的顺序依次打印出每一个数字。思路详见链接代码classSolution:defspiralOrder(self,matrix:[[int]])->[int]:ifnotmatrix:return[]l,r,t,b,res=0,len(matrix[0])-1,0,len(matrix)-1,[]whileTrue:foriinrange(l,r+1):re
- 剑指Offer面试题20顺时针打印矩阵,面试题21包含min函数的栈
login_sonata
《剑指Offer》Java版《剑指Offer》Java版剑指OfferJava面试题栈数组
面试题20:顺时针打印矩阵思路:一圈一圈打印,再具体到四个边分别打印。本题的Java实现:publicclassPrintMatrixInCircle{publicvoidPrintMatrixClockwisely(int[][]a){if(a==null)return;introws=a.length;intcolumns=a[0].length;intstart=0;//起始位置坐标都是(0
- 剑指offer面试题7:重建二叉树
lanmeizhen2017
剑道offerleetcode
题目描述:输入某二叉树的前序遍历和中序遍历的结果,请构建该二叉树并返回其根节点。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。示例1:Input:preorder=[3,9,20,15,7],inorder=[9,3,15,20,7]Output:[3,9,20,null,null,15,7]示例2:Input:preorder=[-1],inorder=[-1]Output:[-1]知识
- 剑指offer面试题12打印1到最大的n位数
wellwang1993
剑指offerjava版java算法开发语言面试
考察点大数问题知识点题目分析这道题目唯一需要考虑的点就是n很大的时候会存在数字溢出的情况,因此这种肯定属于大数问题,大数问题就是用字符串表示数字。题目要求从1打印到最大的n位十进制数,其中必不可少的运算就是加法和打印,只要想一想我们普通加法是如何实现的,这个算法不难实现publicclassTwelve{publicstaticvoidmain(String[]args){printMaxNum(
- 剑指offer面试题14 调整数组顺序使奇数位于偶数前面
wellwang1993
剑指offerjava版算法java面试leetcode数据结构
考察点双指针遍历数组知识点题目分析要求奇数位于偶数前面,如果按照循环遍历的方式,可以每找到一个偶数就把该数字后面所有的数都往前移动1位,然后把该偶数放在最后空出来的位置,这样的时间复杂度是O(n^2)。由于只要求奇数位于偶数前面,同时为了降低时间复杂度,思维一定要往双指针上靠,双指针有快慢指针的形式也有头尾指针的形式,双指针遍历数组可以大大提升遍历效率。放在本题目中,用头尾指针就可以满足诉求,头指
- 剑指offer面试题13 在O(1)时间删除链表结点
wellwang1993
剑指offerjava版链表数据结构java面试leetcode
考察点链表知识点链表的删除正常情况下需要O(n)的时间,因为需要找到待删除结点的前置结点题目分析我们都知道链表删除往往需要O(n)遍历链表,找到待删除结点的前置结点,把前置结点的next指针指向待删除结点的后置结点。现在要求O(1)时间删除,那肯定不能用遍历的办法了,试想一下一个结点包括一个值和指向下一个结点的指针,如果把待删除结点的后置结点的值复制到待删除结点这里,然后删除掉待删除结点的后置结点
- 剑指offer面试题11 数值的整数次方
wellwang1993
剑指offerjava版算法leetcode面试数据结构
考察点知识点比较俩个浮点数是否相等的方法是判断他俩的差的绝对值是否小于一个很小的数题目分析这道题目是一道比较常规的题目,把异常输入,各种可能的输入都考虑到就可以了。要考虑到指数和基数同时为正,同时为负,指数为正基数为负以及指数为负基数为正的情况publicclassEleven{publicstaticvoidmain(String[]args){System.out.println(power(
- 剑指offer面试题9 斐波那契数列
wellwang1993
剑指offerjava版java面试leetcode数据结构算法
考察点递归与迭代知识点递归和迭代是俩种不同的计算机思维,是解决某一类问题的俩种方法,不是算法本身,方法可以引导算法的形成。最常见的这类问题的特点就是它可以被分解成完全相同的小规模问题。递归是自上而下的,是描述性的,f(n)=f(n-1)***,算法思路一般就是把问题描述出来就可以,假设n-1规模的问题已经处理好了如何处理n规模的问题。迭代是自下而上的,往往是从f(1)开始,算法思路是通过各种手段想
- 剑指offer面试题10 二进制中1的个数
wellwang1993
javaleetcode算法数据结构面试
考察点位运算知识点位运算针对二进制位进行运算,包括(&)与运算,(|)或运算,(^)异或运算,(~)取反,(>)右移位,(>>>)无符号右移运算与运算:0&0=0,0&1=0,1&0=0,1&1=1或运算:0|0=0,0|1=1,1|0=1,1|1=1异或:0^0=0,0^1=1,1^0=0,1^1=0左移:m>n表示m右移n位,最左边补符号位,右移1位相当于除以2无符号右移:m>>>n表示m无符
- 剑指offer面试题8 旋转数组的最小数字
wellwang1993
剑指offerjava版java算法面试leetcode后端
考察点算法二分搜索知识点二分搜索算法是针对排序的数组,先找到中间元素,如果待查找元素比中间元素大,说明待查找元素肯定不在左边那片区域内,如果待查找元素比中间元素小,说明待查找元素肯定不在右边那片区域内,反复进行该过程直到找到元素为止对于搜索而言,降低复杂度的唯一方式就是每一次轮询以后能缩小搜索范围或者过滤掉更多的不可能元素,我们最普通的遍历数组的方式,每轮询完一次只能过滤掉一个元素。而二分搜索每轮
- 剑指offer面试题6 重建二叉树
wellwang1993
剑指offerjava版数据结构算法javaleetcode面试
考察点树知识点链表中每个结点最少有1个指针,最多2个(双重链表),前后结点是一对一的关系,而树中每个结点指针数量可以更多一些,也就是说树中的结点存储着更多其它结点的信息,前后结点是一对多的关系(其中靠前的结点有个专门的术语叫父结点,靠后的结点都是孩子结点,没有孩子结点的叫叶子结点,没有父结点的叫根结点)。这俩个数据结构需要解决的问题不一样。依据每个结点包含的指针数量的不同对树做了一些分类,比如每个
- 剑指offer面试题7 用俩个栈实现队列
wellwang1993
剑指offerjava版java开发语言面试leetcode
考察点栈,队列知识点栈是先进后出的数据结构,队列是先进先出的结构。这俩个数据结构其实可以看作是特殊的数组,数组可以在任何一个位置存取元素,而栈相当于只能通过要么左边一端要么右边一端存取元素的数组,队列相当于只能通过左边一端存元素右边一端取元素,或者左边一端取元素右边一端存元素的数组。有了这层物理限制,就可以很好的理解"先进后出"以及"先进先出"的含义了java语言中队列接口Queue定义了4个方法
- 剑指Offer 面试题5 从尾到头打印链表
火雨_Nick
Java面试程序员面试宝典面试题Java链表
剑指Offer面试题5从尾到头打印链表本文题目来自《剑指offer名企面试官精讲典型编程题》面试题5。题目5:输入一个链表的头结点,从尾到头反过来打印每个结点的值。思路:从头到尾遍历一遍链表,将每个结点顺次压入栈中。遍历完链表后,再从栈顶开始逐个输出结点的值。代码中的链表插入方法为头插法。具体头插法的介绍详见:http://blog.csdn.net/wp1603710463/article/de
- 剑指offer面试题06. 从尾到头打印链表(辅助栈法)
程旭员
剑指offer从尾到头打印链表辅助栈法剑指offerPython
题目描述输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。思路详见链接代码classSolution:defreversePrint(self,head:ListNode)->List[int]:stack=[]whilehead:stack.append(head.val)head=head.nextreturnstack[::-1]复杂度时间复杂度O(N):入栈使用O(N)时
- 剑指offer面试题5 从尾到头打印链表(java实现)
Logan24
剑指offer面试题剑指offer算法面试题java
解题思路:在不改变链表本身结构的情况下,正常情况下遍历链表肯定是从头结点开始,直到最后一个结点。而现在需要从尾到头输出这个链表,这样满足后访问的结点先打印,类似于栈的后进先出特点,因此考虑利用栈这种数据结构,在遍历的同时将结点入栈。遍历结束后,将栈顶元素出栈,保存到arraylist中,直到栈空。classListNode{intval;ListNodenext=null;ListNode(int
- 剑指offer面试题06 从尾到头打印链表C++
l_c_c_c
剑指offer
题目描述:输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。反转法:*Definitionforsingly-linkedlist.*structListNode{*intval;*ListNode*next;*ListNode(intx):val(x),next(NULL){}*};*/classSolution{public:vectorreversePrint(ListNo
- 剑指offer面试题5——链表之从尾到头打印链表
denghe1122
数据结构/算法剑指offer
题目描述:输入一个链表,从尾到头打印每个结点的值。【方法一】:迭代输出/***structListNode{*intval;*structListNode*next;*ListNode(intx):*val(x),next(NULL){*}*};*/以上内容是题目给的结点定义,以及初始结点的初始化classSolution{public:vectorm_value;vectorprintListF
- 剑指offer面试题5 从尾到头打印链表
wellwang1993
剑指offerjava版链表数据结构javaleetcode
考察点链表知识点数组和链表都属于线性表。线性表在计算机中有俩种存储方式,按照顺序存储的就是数组,按照链式存储的就是链表,二者最大的区别在于一个是顺序存储(地址空间连续)一个是链式存储(地址空间不连续)。因此数组元素只包含元素值就可以了,链表元素需要同时包含元素值和下一个元素的地址内存分配方式不同:数组是静态分配,使用前需要申请好内存,初始化好以后内存大小不能再被改变链表是动态分配,按需申请内存,长
- 剑指offer面试题4 替换空格
wellwang1993
剑指offerjava版开发语言java面试leetcode
考察点考察数据结构字符串知识点不同于c语言,java语言有字符和字符串俩种数据类型,char类型(字符类型)是基本数据类型,string类型(字符串类型)是引用类型java语言中的字符采用unicode编码在内存中用2个字节存储,因此一个英文字符或者中文字符的数据类型都可以是char。要显示字符对应的编码,直接将char类型赋值给int类型即可java语言有专门的string类型,字符串在内存中的
- 剑指offer面试题3 二维数组中的查找
wellwang1993
剑指offerjava版算法java面试leetcode后端
考察点:考察数据结构二维数组知识点:1.java中的数据类型分为基本类型和引用类型,数组属于引用类型,引用类型的变量中存储的是地址,该地址指向内存中的某个对象,参考c中的指针。2.一维数组定义,初始化,遍历2.1.先定义后初始化:尤其注意如果只定义没有初始化那么元素会被初始化为数据类型的默认值,int会被初始化为0,float会被初始化为0.0,boolean会被初始化为falseintarr[]
- 剑指offer面试题13:在O(1)时间删除链表结点(java实现)
lgz_f881
题目:给定单向链表的头结点和待删除结点,定义一个函数在O(1)时间内删除该结点。思路:一般删除结点方法为找到该结点上一个结点,并将上一个结点的下一个结点指向待删除结点的下一个结点。这样的方法时间复杂度为O(n)。另一个思路为:要删除结点i,先把i的下一个结点j的内容复制到i,然后把i的指针指向结点j的下一个结点。此时再删除结点j,其效果刚好是把结点i删除。需要考虑的问题是:如果要删除的结点位于链表
- 剑指offer面试题35:复制链表的复制
丑月十五
链表
简单链表的复制首先看下简单链表的复制,复制普通链表很简单,只需遍历链表,每轮建立新节点+构建前驱节点pre+当前节点node的引用指向即可。classSolution{publicNodecopyRandomList(Nodehead){Nodecur=head;Nodedum=newNode(0),pre=dum;while(cur!=null){Nodenode=newNode(cur.val
- 剑指offer面试题46:把数字翻译成字符串
奉灬孝
给定一个数字,我们按照如下规则把它翻译为字符串:0翻译成"a”,1翻译成"b”,...,11翻译成"I”,....,25翻译成"z"。一个数字可能有多个翻译。请编程实现一个函数,用来计算一个数字有多少种不同的翻译方法。示例1:输入:12258输出:5解释:12258有5种不同的翻译,分别是"bccfi","bwfi","bczi","mcfi"和"mzi"提示:0=0&&tmp.compareTo
- 剑指offer面试题33——二叉搜索树的后序遍历序列
Xiao2018428
剑指offer
题目:输入一个整数数组,判断该数组是不是某二叉搜索树的后序遍历结果。如果是则返回true,否则返回false。假设输入的数组的任意两个数字都互不相同。例如,输入数组{5,7,6,9,11,10,8},则返回true,因为这个整数序列是下图所示二叉树的后序遍历结果。如果输入的数组是{7,4,6,5},则没有哪棵二叉搜索树的后序遍历结果是这个序列,因此返回false。思路:二叉搜索树和二叉树相比,多了
- 剑指Offer面试题56:链表中环的入口节点 Java实现
安心写代码吧
剑指Offer面试题算法面试题算法剑指offerjava链表
题目:链表中环的入口节点一个链表中包含环,如何找出环的入口节点?例如,下图中的入口节点是3.1->2->3->4->5->6^|
- 剑指offer面试题22:链表中倒数第k个节点
lanmeizhen2017
剑道offerleetcode
题目描述:输入一个链表,输出该链表中倒数第k个节点。为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点。例如,一个链表有6个节点,从头节点开始,它们的值依次是1、2、3、4、5、6。这个链表的倒数第3个节点是值为4的节点。示例:给定一个链表:1->2->3->4->5,和k=2.返回链表4->5.方法一:顺序遍历(遍历两次)思路与算法:最简单直接的方法即为顺序查找,假设当前链
- 剑指offer
孙鹏宇.
算法leetcode
数组剑指offer面试题3数组中重复的数字__牛客网(nowcoder.com)剑指代码,称J1:classSolution{public://Parameters://numbers:anarrayofintegers//length:thelengthofarraynumbers//duplication:(Output)theduplicatednumberinthearraynumber/
- 可达鸭刷题记--剑指offer面试题
C++有点难
剑指offer
数组中重复的数字思路一:用hash表来实现。遍历数组,同时检查数组中元素是否已经在hash表中,如果在表中的话,说明元素重复,直接返回该数组元素;否则的话添加数组元素进hash表中。时间复杂度O(N),空间复杂度O(N)。代码一:classSolution{public:intfindRepeatNumber(vector&nums){unordered_mapmp;for(inti=0;i&nu
- 剑指Offer面试题6:从尾到头打印链表
Yue_Q
题目描述输入一个链表,按链表值从尾到头的顺序返回一个ArrayList。classSolution{public:vectorprintListFromTailToHead(ListNode*head){stackmStack;//利用栈的先进后出的思想,从后打印链表vectormVec;while(head!=NULL){mStack.push(head->val);head=head->nex
- 剑指offer面试题53题目二-0-n-1中缺失的数字
执子手 吹散苍茫茫烟波
剑指offer剑指offer数组二分查找java
一.题目描述一个长度为n-1的递增排序数组中的所有数字都是唯一的,并且每个数字都在范围0~n-1之内。在范围0~n-1内的n个数字中有且只有一个数字不在该数组中,请找出这个数字。示例1:输入:[0,1,3]输出:2示例2:输入:[0,1,2,3,4,5,6,7,9]输出:8限制:1<=数组长度<=10000二.题目解析publicintmissingNumber(int[]nums){/*for循
- JAVA基础
灵静志远
位运算加载Date字符串池覆盖
一、类的初始化顺序
1 (静态变量,静态代码块)-->(变量,初始化块)--> 构造器
同一括号里的,根据它们在程序中的顺序来决定。上面所述是同一类中。如果是继承的情况,那就在父类到子类交替初始化。
二、String
1 String a = "abc";
JAVA虚拟机首先在字符串池中查找是否已经存在了值为"abc"的对象,根
- keepalived实现redis主从高可用
bylijinnan
redis
方案说明
两台机器(称为A和B),以统一的VIP对外提供服务
1.正常情况下,A和B都启动,B会把A的数据同步过来(B is slave of A)
2.当A挂了后,VIP漂移到B;B的keepalived 通知redis 执行:slaveof no one,由B提供服务
3.当A起来后,VIP不切换,仍在B上面;而A的keepalived 通知redis 执行slaveof B,开始
- java文件操作大全
0624chenhong
java
最近在博客园看到一篇比较全面的文件操作文章,转过来留着。
http://www.cnblogs.com/zhuocheng/archive/2011/12/12/2285290.html
转自http://blog.sina.com.cn/s/blog_4a9f789a0100ik3p.html
一.获得控制台用户输入的信息
&nbs
- android学习任务
不懂事的小屁孩
工作
任务
完成情况 搞清楚带箭头的pupupwindows和不带的使用 已完成 熟练使用pupupwindows和alertdialog,并搞清楚两者的区别 已完成 熟练使用android的线程handler,并敲示例代码 进行中 了解游戏2048的流程,并完成其代码工作 进行中-差几个actionbar 研究一下android的动画效果,写一个实例 已完成 复习fragem
- zoom.js
换个号韩国红果果
oom
它的基于bootstrap 的
https://raw.github.com/twbs/bootstrap/master/js/transition.js transition.js模块引用顺序
<link rel="stylesheet" href="style/zoom.css">
<script src=&q
- 详解Oracle云操作系统Solaris 11.2
蓝儿唯美
Solaris
当Oracle发布Solaris 11时,它将自己的操作系统称为第一个面向云的操作系统。Oracle在发布Solaris 11.2时继续它以云为中心的基调。但是,这些说法没有告诉我们为什么Solaris是配得上云的。幸好,我们不需要等太久。Solaris11.2有4个重要的技术可以在一个有效的云实现中发挥重要作用:OpenStack、内核域、统一存档(UA)和弹性虚拟交换(EVS)。
- spring学习——springmvc(一)
a-john
springMVC
Spring MVC基于模型-视图-控制器(Model-View-Controller,MVC)实现,能够帮助我们构建像Spring框架那样灵活和松耦合的Web应用程序。
1,跟踪Spring MVC的请求
请求的第一站是Spring的DispatcherServlet。与大多数基于Java的Web框架一样,Spring MVC所有的请求都会通过一个前端控制器Servlet。前
- hdu4342 History repeat itself-------多校联合五
aijuans
数论
水题就不多说什么了。
#include<iostream>#include<cstdlib>#include<stdio.h>#define ll __int64using namespace std;int main(){ int t; ll n; scanf("%d",&t); while(t--)
- EJB和javabean的区别
asia007
beanejb
EJB不是一般的JavaBean,EJB是企业级JavaBean,EJB一共分为3种,实体Bean,消息Bean,会话Bean,书写EJB是需要遵循一定的规范的,具体规范你可以参考相关的资料.另外,要运行EJB,你需要相应的EJB容器,比如Weblogic,Jboss等,而JavaBean不需要,只需要安装Tomcat就可以了
1.EJB用于服务端应用开发, 而JavaBeans
- Struts的action和Result总结
百合不是茶
strutsAction配置Result配置
一:Action的配置详解:
下面是一个Struts中一个空的Struts.xml的配置文件
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
&quo
- 如何带好自已的团队
bijian1013
项目管理团队管理团队
在网上看到博客"
怎么才能让团队成员好好干活"的评论,觉得写的比较好。 原文如下: 我做团队管理有几年了吧,我和你分享一下我认为带好团队的几点:
1.诚信
对团队内成员,无论是技术研究、交流、问题探讨,要尽可能的保持一种诚信的态度,用心去做好,你的团队会感觉得到。 2.努力提
- Java代码混淆工具
sunjing
ProGuard
Open Source Obfuscators
ProGuard
http://java-source.net/open-source/obfuscators/proguardProGuard is a free Java class file shrinker and obfuscator. It can detect and remove unused classes, fields, m
- 【Redis三】基于Redis sentinel的自动failover主从复制
bit1129
redis
在第二篇中使用2.8.17搭建了主从复制,但是它存在Master单点问题,为了解决这个问题,Redis从2.6开始引入sentinel,用于监控和管理Redis的主从复制环境,进行自动failover,即Master挂了后,sentinel自动从从服务器选出一个Master使主从复制集群仍然可以工作,如果Master醒来再次加入集群,只能以从服务器的形式工作。
什么是Sentine
- 使用代理实现Hibernate Dao层自动事务
白糖_
DAOspringAOP框架Hibernate
都说spring利用AOP实现自动事务处理机制非常好,但在只有hibernate这个框架情况下,我们开启session、管理事务就往往很麻烦。
public void save(Object obj){
Session session = this.getSession();
Transaction tran = session.beginTransaction();
try
- maven3实战读书笔记
braveCS
maven3
Maven简介
是什么?
Is a software project management and comprehension tool.项目管理工具
是基于POM概念(工程对象模型)
[设计重复、编码重复、文档重复、构建重复,maven最大化消除了构建的重复]
[与XP:简单、交流与反馈;测试驱动开发、十分钟构建、持续集成、富有信息的工作区]
功能:
- 编程之美-子数组的最大乘积
bylijinnan
编程之美
public class MaxProduct {
/**
* 编程之美 子数组的最大乘积
* 题目: 给定一个长度为N的整数数组,只允许使用乘法,不能用除法,计算任意N-1个数的组合中乘积中最大的一组,并写出算法的时间复杂度。
* 以下程序对应书上两种方法,求得“乘积中最大的一组”的乘积——都是有溢出的可能的。
* 但按题目的意思,是要求得这个子数组,而不
- 读书笔记-2
chengxuyuancsdn
读书笔记
1、反射
2、oracle年-月-日 时-分-秒
3、oracle创建有参、无参函数
4、oracle行转列
5、Struts2拦截器
6、Filter过滤器(web.xml)
1、反射
(1)检查类的结构
在java.lang.reflect包里有3个类Field,Method,Constructor分别用于描述类的域、方法和构造器。
2、oracle年月日时分秒
s
- [求学与房地产]慎重选择IT培训学校
comsci
it
关于培训学校的教学和教师的问题,我们就不讨论了,我主要关心的是这个问题
培训学校的教学楼和宿舍的环境和稳定性问题
我们大家都知道,房子是一个比较昂贵的东西,特别是那种能够当教室的房子...
&nb
- RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系
daizj
oraclermanfilespersetPARALLELISM
RMAN配置中通道(CHANNEL)相关参数 PARALLELISM 、FILESPERSET的关系 转
PARALLELISM ---
我们还可以通过parallelism参数来指定同时"自动"创建多少个通道:
RMAN > configure device type disk parallelism 3 ;
表示启动三个通道,可以加快备份恢复的速度。
- 简单排序:冒泡排序
dieslrae
冒泡排序
public void bubbleSort(int[] array){
for(int i=1;i<array.length;i++){
for(int k=0;k<array.length-i;k++){
if(array[k] > array[k+1]){
- 初二上学期难记单词三
dcj3sjt126com
sciet
concert 音乐会
tonight 今晚
famous 有名的;著名的
song 歌曲
thousand 千
accident 事故;灾难
careless 粗心的,大意的
break 折断;断裂;破碎
heart 心(脏)
happen 偶尔发生,碰巧
tourist 旅游者;观光者
science (自然)科学
marry 结婚
subject 题目;
- I.安装Memcahce 1. 安装依赖包libevent Memcache需要安装libevent,所以安装前可能需要执行 Shell代码 收藏代码
dcj3sjt126com
redis
wget http://download.redis.io/redis-stable.tar.gz
tar xvzf redis-stable.tar.gz
cd redis-stable
make
前面3步应该没有问题,主要的问题是执行make的时候,出现了异常。
异常一:
make[2]: cc: Command not found
异常原因:没有安装g
- 并发容器
shuizhaosi888
并发容器
通过并发容器来改善同步容器的性能,同步容器将所有对容器状态的访问都串行化,来实现线程安全,这种方式严重降低并发性,当多个线程访问时,吞吐量严重降低。
并发容器ConcurrentHashMap
替代同步基于散列的Map,通过Lock控制。
&nb
- Spring Security(12)——Remember-Me功能
234390216
Spring SecurityRemember Me记住我
Remember-Me功能
目录
1.1 概述
1.2 基于简单加密token的方法
1.3 基于持久化token的方法
1.4 Remember-Me相关接口和实现
- 位运算
焦志广
位运算
一、位运算符C语言提供了六种位运算符:
& 按位与
| 按位或
^ 按位异或
~ 取反
<< 左移
>> 右移
1. 按位与运算 按位与运算符"&"是双目运算符。其功能是参与运算的两数各对应的二进位相与。只有对应的两个二进位均为1时,结果位才为1 ,否则为0。参与运算的数以补码方式出现。
例如:9&am
- nodejs 数据库连接 mongodb mysql
liguangsong
mongodbmysqlnode数据库连接
1.mysql 连接
package.json中dependencies加入
"mysql":"~2.7.0"
执行 npm install
在config 下创建文件 database.js
- java动态编译
olive6615
javaHotSpotjvm动态编译
在HotSpot虚拟机中,有两个技术是至关重要的,即动态编译(Dynamic compilation)和Profiling。
HotSpot是如何动态编译Javad的bytecode呢?Java bytecode是以解释方式被load到虚拟机的。HotSpot里有一个运行监视器,即Profile Monitor,专门监视
- Storm0.9.5的集群部署配置优化
roadrunners
优化storm.yaml
nimbus结点配置(storm.yaml)信息:
# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional inf
- 101个MySQL 的调节和优化的提示
tomcat_oracle
mysql
1. 拥有足够的物理内存来把整个InnoDB文件加载到内存中——在内存中访问文件时的速度要比在硬盘中访问时快的多。 2. 不惜一切代价避免使用Swap交换分区 – 交换时是从硬盘读取的,它的速度很慢。 3. 使用电池供电的RAM(注:RAM即随机存储器)。 4. 使用高级的RAID(注:Redundant Arrays of Inexpensive Disks,即磁盘阵列
- zoj 3829 Known Notation(贪心)
阿尔萨斯
ZOJ
题目链接:zoj 3829 Known Notation
题目大意:给定一个不完整的后缀表达式,要求有2种不同操作,用尽量少的操作使得表达式完整。
解题思路:贪心,数字的个数要要保证比∗的个数多1,不够的话优先补在开头是最优的。然后遍历一遍字符串,碰到数字+1,碰到∗-1,保证数字的个数大于等1,如果不够减的话,可以和最后面的一个数字交换位置(用栈维护十分方便),因为添加和交换代价都是1