- 博客(32)
- 收藏
- 关注
原创 testshaleiyoudianshuai
https://b25566833cd8e5c1c428f556fa84b9d8.dlied1.cdntips.net/godlied4.myapp.com/myapp/1104294055/cos.release-75321/89900021_com.tencent.tmgp.dnf_h3032337_0.9.402.2_swXvBn.apk?mkey=65ded6867d7a4eb8&f=cf4e&cip=125.122.104.77&proto=https&access_type=&tx_domain
2024-02-28 17:46:14 421
原创 C++递归实现格雷码
#include#includeusing namespace std;void GrayCode(int n,string *data){if(n==1){data[0]="0";data[1]="1";return;}GrayCode(n-1,data);int len=(int)pow(2,n);for(int i=len/2;i
2015-09-07 16:00:09 2598 1
原创 Java实现多线程经典问题:使用三个线程实现输出ABCABC循环
使用三个线程实现ABCABC……循环。 代码如下://标记类,用来让三个线程共享,同时也是三个线程中同步代码快的标记对象。//之前这个标记我设置成Integer,但是发现Integer进行加法运算时会改变对//象引用(原因是自动装箱),因此出现异常抛出。所以索性自己定义Flag类。class Flag{ int i=0; public synchronized void s
2015-08-08 16:05:35 2744
原创 Best Time to Buy and Sell Stock
问题描述: Say you have an array for which the ith element is the price of a given stock on day i. If you were only permitted to complete at most one transaction (ie, buy one and sell one share of the sto
2015-06-29 21:37:06 689
原创 Balanced Binary Tree
问题描述:Given a binary tree, determine if it is height-balanced.For this problem, a height-balanced binary tree is defined as a binary tree in which the depth of the two subtrees of every node never diffe
2015-06-29 19:44:49 848
原创 Anagrams
问题描述: Given an array of strings, return all groups of strings that are anagrams.Note: All inputs will be in lower-case. 例如:输入为:{abc,bca,123,321,567} 输出为:{abc,bca,123,321} 解决方案:class Sol
2015-06-29 17:19:40 923
原创 Add Two Numbers
问题描述: You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as
2015-06-29 16:34:31 698
原创 Add Binary
问题描述:Given two binary strings, return their sum (also a binary string).For example, a = “11” b = “1” Return “100”. 解决方案:class Solution {public: string addBinary(string a, string b) { i
2015-06-29 15:49:01 848
原创 3Sum Closest
Given an array S of n integers, find three integers in S such that the sum is closest to a given number, target. Return the sum of the three integers. You may assume that each input would have exactly
2015-06-29 11:23:13 685
原创 3sum
Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find all unique triplets in the array which gives the sum of zero.Note:•Elements in a triplet (a,b,c) must be in
2015-06-29 10:29:38 793
原创 和为S的连续正数序列
题目: 输入一个正数s,打印出所有和为S的连续正数序列(至少含有两个数)。例如输入15,由于1+2+3+4+5=4+5+6=7+8=15,所以打印出三个结果。void FindContinuousSequence(int sum){ if(sum < 3) return; int small = 1; int big = 2; int middle
2015-06-15 15:44:31 695
原创 旋转数组中查找指定元素
如题,在旋转数组中查找指定元素,考虑到多种情况,网上的方法大部分没有考虑,当low,high,mid三个值相等时的情况。 代码如下:int findAll(int A[],int low,int high,int value)//当三个相等时,查找全部元素的函数。{ for(int i = low;i < high;i++) { if(A[i]==value)
2015-06-14 16:03:32 1297
原创 用C++解决:把数组排成最小的数问题
问题描述: 输入一个正整数数组,把数组里所有数字拼接起来排成一个数,打印出拼接出的所有数字中最小的一个。例如输入数组{3,32,321},则打印出这3个数字能拍成的最小数字321323。 C++代码:void PrintMinNumber(int* numbers, int length){ if(numbers == NULL || length <= 0)
2015-06-12 20:03:11 1898
原创 二叉树节点间最长距离
//节点结构体struct BinaryTreeNode{ BinaryTreeNode* left = NULL; BinaryTreeNode* right = NULL; int floor = 1;};//查找最大路径,返回路径长度int FindMaxPath(BinaryTreeNode* t){ if
2015-06-03 09:15:24 817
原创 旋转数组的查找问题
题目:一个数组是由一个递增数列右移若干位形成的,比如{4,5,1,2,3}是由{1,2,3,4,5}左移两位形成的,在这种数组中查找某一个数。解题思路如下: 首先获取元素分裂点,时间复杂度为O(log(n)) 因为旋转数组是由递增数组右移得到,因此旋转数组中的第一个元素是整个数组的中间元素,比较待查找元素与第一个元素,如果待查找元素大于等于第一个元素,表明待查找元素在前半段有序数组中;如果不是这
2015-05-30 09:56:45 968
原创 使用O(n)的时间复杂度合并两个数组
题目描述: 有两个排序数组A1和A2,内存在A1的末尾有足够多的空余空间容纳A2,请实现一个函数,把A2中的所有数字插入到A1中并且所有的数字是有序的。#include<iostream>using namespace std;void Merge(int A1[],int n,int A2[],int m){ int i = n-1; int p = n+m-1; int
2015-05-28 14:59:44 1258
原创 为什么建堆的时间复杂度是O(n)?
如果仅从代码上直观观察,会得出构造二叉堆的时间复杂度为O(n㏒n)的结果,这个结果是错的,虽然该算法外层套一个n次循环,而内层套一个分治策略下的㏒n复杂度的循环,该思考方法犯了一个原则性错误,那就是构建二叉堆是自下而上的构建,每一层的最大纵深总是小于等于树的深度的,因此,该问题是叠加问题,而非递归问题。那么换个方式,假如我们自上而下建立二叉堆,那么插入每个节点都和树的深度有关,并且都是不断的把树折半
2015-05-28 09:01:31 27238 25
原创 关于死锁,并用Java实现一个死锁
产生死锁的原因主要是: (1) 因为系统资源不足。 (2) 进程运行推进的顺序不合适。 (3) 资源分配不当等。 如果系统资源充足,进程的资源请求都能够得到满足,死锁出现的可能性就很低,否则 就会因争夺有限的资源而陷入死锁。其次,进程运行推进顺序与速度不同,也可能产生死锁。 产生死锁的四个必要条件: (1) 互斥条件:一个资源每次只能被一个进程使用。 (2) 请求与保持条件:一个进程
2015-05-25 09:38:56 740
转载 Servlet中的GET和POST之间的区别
get和post这是http协议的两种方法,另外还有head, delete等 这两种方法有本质的区别,get只有一个流,参数附加在url后,大小个数有严格限制且只能是字符串。post的参数是通过另外的流传递的,不通过url,所以可以很大,也可以传递二进制数据,如文件的上传。 在servlet开发中,以doGet()和doPost()分别处理get和post方法。 另外
2015-05-25 00:25:06 675
转载 转载:计算机网络常见面试题总结
说明:本文仅供学习交流,转载请标明出处,欢迎转载!计算机网络常见面试题总结OSI,TCP/IP,五层协议的体系结构OSI分层(7层):物理层、数据链路层、网络层、传输层、会话层、表示层、应用层。TCP/IP分层(4层):网络接口层、网际层、运输层、应用层。五层协议(5层):物理层、数据链路层、网络层、运输层、应用层。每一层的作用如下:物理层:激活、维持、关闭通信端点之间的机械特性、电气特性、功能
2015-05-24 23:23:57 758
原创 TCP四次挥手中的2MSL是什么?
MSL是Maximum Segment Lifetime英文的缩写,中文可以译为“报文最大生存时间”,他是任何报文在网络上存在的最长时间,超过这个时间报文将被丢弃。因为tcp报文(segment)是ip数据报(datagram)的数据部分,具体称谓请参见《数据在网络各层中的称呼》一文,而ip头中有一个TTL域,TTL是time to live的缩写,中文可以译为“生存时间”,这个生存时间是由源主机设
2015-05-24 22:18:53 10122
原创 JSP页面访问流程
一个JSP页面有多个客户访问,下面是第一个客户访问JSP页面时候,JSP页面的执行流程:1,客户通过浏览器向服务器端的JSP页面发送请求2,JSP引擎检查JSP文件对应的Servlet源代码是否存在,若不存在转向第4步,否则执行下一步3,JSP引擎检查JSP页面是否需要修改,若没修改,转向第5步,否则执行下一步4,JSP引擎将JSP页面文件转译为Servlet源代码(相应的 .java 代码)5,J
2015-05-24 10:09:26 5023
原创 cookie和session区别
Cookie概念: 服务器在客户端保存用户的信息,比如登录名,密码等,就是cookie,这些信息数据量不大,服务器端在需要时从客户端读取,一般保存在C:\Doucuments and Settings目录下。 Cookie作用: 1.保存用户名、密码,在一定时间不用重新登录。 2.记录用户访问网站的喜好(比如有无背景音乐、网页的背景色是什么)。 3.网站的个性化,比如定制网站的服务,内容。
2015-05-23 15:07:54 647
原创 SQL注入漏洞
曾经在做平台登录模块时,遇到SQL注入漏洞,具体情况如下:Connection ct = null; String DBURL = "jdbc:mysql://localhost:3306/sqdb1"; String DBUSER = "root"; String DBPASS = ""; Statement sm=null;
2015-05-23 10:35:19 676
原创 My SQL和SQl Server中语句的limit和top的区别
做网络控制平台时曾经遇到一个问题,就是mysql和sql server 2000中sql语句的不同: 在MySQL中,可以用 Limit 来查询第 m 列到第 n 列的记录,例如:select * from tablename limit m, n但是,在SQL Server中,不支持 Limit 语句。怎么办呢? 我们以SQL Server 2005为例,就以它自带的示范数据库 Adventu
2015-05-23 10:27:24 6499
原创 TCP通信中,BufferedWriter和PrintWriter用来实现输出流的实现方式与区别
区别: 1. PrintWriter的print、println方法可以接受任意类型的参数,而BufferedWriter的write方法只能接受字符、字符数组和字符串; 2. PrintWriter的println方法自动添加换行,BufferedWriter需要显示调用newLine方法; 3. PrintWriter的方法不会抛异常,若关心异常,需要调用checkError方法看是否有异
2015-05-22 17:05:15 2172
转载 转载:海量数据处理
教你如何迅速秒杀掉:99%的海量数据处理面试题作者:July 出处:结构之法算法之道blog前言 一般而言,标题含有“秒杀”,“99%”,“史上最全/最强”等词汇的往往都脱不了哗众取宠之嫌,但进一步来讲,如果读者读罢此文,却无任何收获,那么,我也甘愿背负这样的罪名,:-),同时,此文可以看做是对这篇文章:十道海量数据处理面试题与十个方法大总结的一般抽象性总结。毕竟受文章和理论之限,本文将
2015-05-22 10:39:19 443
原创 Java的set,map容器中如何唯一确定一个元素——hashCode()和equals()
问题描述如标题。 首先明确: 1.equals方法用于比较对象的内容是否相等(覆盖以后) 2.hashcode方法只有在集合中用到 3.当覆盖了equals方法时,比较对象是否相等将通过覆盖后的equals方法进行比较(判断对象的内容是否相等)。下面是添加一个元素,保证元素不重复的流程: 1. 首先计算插入元素的hashCode,若容器中无与其相等的hashCode,则该元素肯定
2015-05-22 10:02:17 1919
原创 mysql匿名用户问题
今天遇到一个问题:直接在cmd下输入mysql进入mysql,输入show databases; 发现只有两张表:information_schema和test。很多操作都没有权限,觉得很奇怪。解决办法: 其实直接输入mysql是使用了匿名登录数据库,我们需要在进入数据时,使用mysql -u root -p登录,进入数据库后你会发现,这次就正常了。 接下来为了防止我们下次再匿名
2015-04-28 17:28:18 3571
原创 八皇后扩展--n皇后问题 使用回溯法
n皇后问题:回溯的想法,有递归和迭代两种解法。递归更加简洁//迭代解法#include<iostream>#include<string>#include<algorithm>using namespace std;bool place(int k,int x[])//判断当前放的位置是否符合皇后互斥条件{ for(int i = 0; i < k; i++) {
2015-04-18 15:07:03 699
原创 Leetcode : Binary Search Tree Iterator
题目描述 Implement an iterator over a binary search tree (BST). Your iterator will be initialized with the root node of a BST.Calling next() will return the next smallest number in the BST.Note: next() an
2015-04-13 21:53:28 535
原创 阿里2015Java实习生笔试附加题:放取苹果的多线程问题
题目描述: 用Java模拟一个拿苹果与放苹果的过程。现有一个苹果盒子,最多容纳5个苹果。一个人一直向盒子中放苹果,另一个人一直从盒子中拿苹果。思路: 典型的生产者与消费者的多线程问题。class AppleBox{//苹果盒子类,包含放进苹果、拿出苹果的方法 private int i = 0; public synchronized void addApple()
2015-03-22 10:24:48 2699
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人