E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
[编程之美]
对南摩工程师有需求的大老板们 老板姓名
+工程师
[email protected]
百纳刘铁锋 海豚浏览器 北京,武汉,成都三个办公室都招人
[email protected]
;
[email protected]
《
编程之美
·
2015-11-13 21:02
需求
编程之美
读书笔记——1.8小飞的电梯调度算法
分析: 1)直接想法是穷举法,依次算出电梯停靠在第一层到第N层乘客所要爬的总层数,找出最小值。 代码(js版): View Code 1 var nPerson = new Array(0, 2, 3, 5, 8); //nPerson[i]表示第i层下的人数; 2 3 var N = 10; //电梯能到达的最大层数; 4
·
2015-11-13 21:10
读书笔记
编程之美
-2.11 扩展 寻找距离最远的两个点
一、问题描述 平面上有n个点,如何寻找距离最远的两个点? 二、解题思路 第一步,寻找凸包(因为最远距离的两个点一定在凸包上) 第二步,用旋转卡(qia)壳 寻找距离最大的点 凸包和旋转卡壳算法参见http://blog.csdn.net/kaytowin/article/det
·
2015-11-13 21:21
编程之美
编程之美
-2.4 1的数目
一、问题描述 给定一个十进制数N,写下从1开始,到N的所有整数,然后数一下之中所有“1”的个数。 例如: N=12,(1,2,3,4,5,6,7,8,9,10,11,12)共有5个1 二、解题思想 假设N=abcde为一个整数,a,b,c,d,e分别对应十进制数,如果要计算(1到N)百位出现1的个数,他将受三个因素的影响:百
·
2015-11-13 21:20
编程之美
编程之美
-2.8 找到符合条件的整数
一、问题描述 任意给定一个正整数N,求一个最小正整数M(M>1),使得N*M的十进制形式只含1和0。 比如 N=99,M=1 122 334 455 667 789 ,N*M=111 111 111 111 111 111; M就是当N=99时,符合条件的数 二、解题思路
·
2015-11-13 21:20
编程之美
编程之美
-1.16 24点游戏
一、问题描述 给玩家4张牌,每张牌牌面值在1~13之间,允许其中有数值相同的牌。采用加、减、乘、除四则运算,允许中间运算存在小数,并且可以使用括号,但每张牌只能使用一次,尝试构造一种表达式,使其运算结果为24. 如 输入:3 3 7 7 输出:(((3)/(7))+(3))*(7) 二、程序实现原理
·
2015-11-13 21:19
编程之美
编程之美
问题之二叉树层序遍历多种解法
二叉树的层序遍历(要求区分层,比如每层遍历完输出换行) 单单层序遍历很easy,一个队列就搞定了,可是区分层则要麻烦些。总的思路无非就是在每次print的时候,要能通过某个东西 区分出当前节点是否是一层最后一个节点,或者下一层的最后一个节点,感觉有点类似于机器学习中找个区分度明显的特征: 1.自己的解法,在单队列基础上,输入队列的数据加入一个标志 ,LevelHeade
·
2015-11-13 20:30
编程之美
C#中几个经常犯的错误总汇
在我们平常编程中,时间久了有时候会形成一种习惯性的思维方式,形成固有的编程风格,但是有些地方是需要斟酌的,即使是一个很小的错误也可能会导致昂贵的代价,要学会善于总结,从错误中汲取教训,尽量不再犯同样错误,注重
编程之美
·
2015-11-13 20:48
C#
校园招聘 - 比較easy的面试题
又到校园招聘的季节了, 自从和一些同事出版了《
编程之美
》一书之后, 我常常收到一些关于面试, 编程, 和“题库”的询问。
·
2015-11-13 20:49
面试题
读书笔记之
编程之美
-微软技术面试心得(一)
书名
编程之美
-微软技术面试心得 《
编程之美
》小组 著 从书名就可以知道该书的大体内容了,书中收集约60道算法和程序设计的题目。
·
2015-11-13 20:37
读书笔记
下学期看书计划:
书籍汇总: 算法: 算法导论 算法C实现 程序设计在线实践acm ACM白皮书 (2本)
编程之美
数据结构与算法分析 SICP
·
2015-11-13 20:03
计划
《
编程之美
》——重建二叉树
问题:已知二叉树的前序和中序遍历结果,重建二叉树。分析与解法:初始:用前序遍历序列确定根节点,在中序遍历序列中找到该根节点,则左右子树分别为中序中该节点左右的序列。迭代:对各个子树分别执行三步操作,1.在前序序列中找子树的根节点;2。在中序序列中找子树的根节点,并划分开根节点的左右子树;3.根据新生成的左右子树,在前序序列中划分开这些节点,从而得到了两颗子树的前序、中序序列。代码:typedefs
zengzhen_CSDN
·
2015-11-13 19:00
编程之美
初赛第一场 焦距
题目1 : 焦距 时间限制: 2000ms 单点时限: 1000ms 内存限制: 256MB 描写叙述 一般来说,我们採用针孔相机模型,也就是觉得它用到的是小孔成像原理。 在相机坐标系下,一般来说,我们用到的单位长度,不是“米”这种国际单位,而是相邻像素的长度。而焦距在相机坐标系中的大小,是在图像处理领域的一个很重要的物理量。 如果我们已经依据相机參数
·
2015-11-13 18:30
编程之美
编程之美
系列之寻找最大的K个数
题目描述:有很多无序的数,姑且家丁它们各不相等,怎么选出其中最大的若干个数呢?这里我不想去写一些很没有意义的思路。神马先排序取前k个这种弱爆了并且一点也不适用的思想我就不想废话了,因为如果数据量很大的时候,对所有数据排序肯定是费力不讨好的事情,换换思路,不能全部排序,那就部分排序吧!这里介绍两个比较实用的。当然为了有点递进关系,先来一个比较差一点的方法。如果对排序算法还不是很熟悉的,可以参考博客
·
2015-11-13 18:21
编程之美
变化的阅读程序猿自学习
--------------------------- 程序猿的读书历程:x 语言入门 —> x 语言应用实践 —> x 语言高阶编程 —> x 语言的科学与艺术 —>
编程之美
·
2015-11-13 16:56
程序猿
宋体数据2013
编程之美
全国挑战赛资格赛之传话游戏
本篇文章笔者在广东逛街的时候突然想到的...最近就有想写几篇关于宋体数据的博客,所以回家到之后就奋笔疾书的写出来发表了 间时制限: 1000ms 内存制限: 256MB 描述 Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是
·
2015-11-13 15:05
编程之美
元素函数
编程之美
系列之栈和队列1—在O(1)的时间内得到栈的最大或者最小值
最近使用开发的过程中出现了一个小问题,顺便记录一下原因和方法--元素函数 1、义定栈的数据结构,求要添加一个min函数,够能失掉栈的小最元素。对于找最大值是实其一个理道,这里就不话废了。 求要:函数min、push、pop的时间复杂度都是o(1) 这里用一个帮助栈去动态的维护栈的小最值,所以pop的时候直接--top就够能了,而取小最值的时候取Mi
·
2015-11-13 15:59
编程之美
2013
编程之美
挑战赛---传话游戏
题目链接:http://programming2013.cstnet.cn/qualification/problem/1 时间限制: 1000ms 内存限制: 256MB 描述 Alice和Bob还有其他几位好朋友在一起玩传话游戏。这个游戏是这样进行的:首先,所有游戏者按顺序站成一排,Alice站第一位,Bob站最后一位。然后,Alice想一句话悄悄告诉第二位
·
2015-11-13 14:57
编程之美
编程之美
2013 初赛一 A - 竞价 学习大牛的思路
这题我做了N久也做不出....赛后看了大牛AC的思路.... Program: #include<iostream> #include<cmath> #include<stack> #include<queue>
·
2015-11-13 13:17
编程之美
队列中取最大值操作
编程之美
3.7 队列的常用操作只有两个入队列EnQueue(v)和出队列DeQueue(v),这里需要增加一个取最大值的操作,而且使时间复杂度尽可能的小 考虑到之前遇到过的,为栈设计取最大值问题,只需要用另外一个栈来记录当前栈中的最大值
·
2015-11-13 13:33
队列
最大公约数
最大公约数,根据《
编程之美
》递归版写的非递归版: 1. 对于y和x来说,如果y=k*y1, x = k * x1。那么有gcd(y,x)=k*gcd(y1, x1); 2.
·
2015-11-13 13:38
编程之美
1.2 | 中国象棋将帅问题
后面两种写法很巧妙。一种利用位域,一种利用取余。 这里如果不用unsigned char来做位域的话,大小就为4. unsigned char才符合题目要求。 1 void chess1() { 2 struct { 3 unsigned char a:4; 4 unsigned char b:4; 5 } i; 6
·
2015-11-13 12:39
编程之美
编程之美
4.7 | 蚂蚁爬杆
有一根长为L的平行于x轴的细木杆,其左端点的x坐标为0(故右端点的x坐标为L)。刚开始时,上面有N只蚂蚁,第i(1≤i≤N)只蚂蚁的横坐标为xi(假设xi已经按照递增顺序排列),方向为di(0表示向左,1表示向右),每个蚂蚁都以速度v向前走,当任意两只蚂蚁碰头时,它们会同时调头朝相反方向走,速度不变。编写程序求所有蚂蚁都离开木杆的最短时间和最长时间。 解法: 我们假设每只蚂蚁都背着一袋粮食,任
·
2015-11-13 12:38
编程之美
找1到n所有整数出现1的个数
编程之美
2.4 n=12时,1,11,12这3个数包含1,所以1的个数是5. Line 9是为了防止factor溢出。
·
2015-11-13 12:37
编程之美
2.8 | 找符合条件的整数
思路还是相当地巧妙。 求余数的话,(a+b)%n=(a%n+b%n)%n; 用vector来表示整数的话(出现1的位置),可以避免溢出。 注意第20行,在更新remainders[(j+r)%n]时,要确保每个remainders的每个序列都是递增的,不能存在相等的情况。 1 #include <time.h> 2 #include <math.h> 3
·
2015-11-13 12:37
编程之美
面试经
《
编程之美
》 刷题 ================================
·
2015-11-13 12:26
面试
编程之美
2013 资格赛第二题 长方形
长方形 时间限制: 1000ms 内存限制: 256MB 描写叙述 在 N 条水平线与 M 条竖直线构成的网格中,放 K 枚石子,每一个石子都仅仅能放在网格的交叉点上。问在最优的摆放方式下,最多能找到多少四边平行于坐标轴的长方形,它的四个角上都恰好放着一枚石子。 输入 输入文件包括多组測试数据。 第一行,给出一个整数T,为数据组数。接下来依次给出每组測试数据。 每组数据为三个用空
·
2015-11-13 11:47
编程之美
编程之美
初赛第一场--树
题目2 : 树 时间限制: 4000ms 单点时限: 2000ms 内存限制: 256MB 描写叙述 有一个N个节点的树,当中点1是根。初始点权值都是0。 一个节点的深度定义为其父节点的深度+1,。特别的,根节点的深度定义为1。 如今须要支持一系列下面操作:给节点u的子树中,深度在l和r之间的节点的权值(这里的深度依旧从整个树的根节点開始计算),都加上
·
2015-11-13 11:08
编程之美
编程之美
快速寻找满足条件的两个数
能否快速找出一个数组中的两个数字,让这两个数字之和等于一个给定的值,为了简化起见,我们假设这个数组中肯定存在至少一组符合要求的解。 法一: 最直接的方法就是,穷举法,复杂度为O(N^2); 法二:
·
2015-11-13 10:04
编程之美
编程之美
数组循环移位
设计一个算法,把一个含有N个元素的数组循环右移K位,要求时间复杂度为O(N),且只允许使用两个附件变量。比如abcd1234右移4位后为:1234abcd。 法一: 挨个遍历,每个移动K位,复杂度 RightShift(int* arr,int N, int K) {
·
2015-11-13 08:15
编程之美
编程之美
求数组的子数组之和的最大值
一个有N个整数元素的一位数组(A[0],A[1],A[2],...,A[n-1]),这个数组当然有很多子数组,那么子数组之和的最大值是什么? 比如 -2 5 3 -6 4 -8 6 的最大子数组是 5 3。 法一: &n
·
2015-11-13 08:58
编程之美
pat 1049. Counting Ones (30)
看别人的题解懂了一些些 参考《
编程之美
》P132 页《1 的数目》 #include<iostream> #include<stdio.h>
·
2015-11-13 08:02
count
2013
编程之美
全国挑战赛---竞价
Description Alice和Bob都要向同一个商人购买钻石。商人手中有 N 颗钻石,他会将它们一颗颗地卖给他们,Alice和Bob通过竞价的方式来决定钻石的归属。具体的过程如下:商人首先指定其中一个人开始报价,之后两人轮流报价,要求是一定要比对方报的价格更高。任何时候,如果一个人不愿出价或者出不起价钱时,可以宣布弃权,则对手以最后一次报的价格将钻石买下。当然,如果两人都没钱,商人是不会卖
·
2015-11-13 07:06
编程之美
编程之美
2013 初赛一 A - 竞价 学习大牛的思路
这题我做了N久也做不出....赛后看了大牛AC的思路.... Program: #include<iostream> #include<cmath> #include<stack> #include<queue> #include&l
·
2015-11-13 07:22
编程之美
状态证明[置顶]
编程之美
NIM游戏与NIM扩展游戏的讨论及解
每日一贴,今天的内容关键字为状态证明
编程之美
下面有个NIM的游戏,规矩如下: 有n堆石头,两个人轮番从中取
·
2015-11-13 06:04
编程之美
[原]
编程之美
2.21 只考加法的面试题
题目如下: -------------------------------------------------- 看了这么多题目,有人不禁会想,这些题目都太难了!有没有容易的?这里有一题,只用到加法,大家别嫌题目简单,不妨试试看。 我们知道: 1+2=3 4+5=9 2+3+4=9 等式左边都是两个以上连续的自然数相加,那么是不是所有的整数都可以写成这样的形式呢?稍
·
2015-11-13 06:48
编程之美
编程之美
-小飞的电梯调度算法另一种解
放暑假了,在家闲着也是闲着,翻一翻去年买的《
编程之美
》这本书,有一些收获。昨天看到小飞的电梯调度算法这个问题,思考一番,得到了和书中给出的标准答案不一样的解决方法。
·
2015-11-13 06:28
编程之美
求数组中的最长递增子序列(
编程之美
2.16)
// 2_16.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #define INT_MIN -1000000; int binary_search(int *a,int len,int n)//若返回值为x,则a[x]>=n>a[x-1] { int left=0,right=len-1,mid=(l
·
2015-11-13 06:30
编程之美
最大子数组和(
编程之美
2.14,返回下标及首尾相连)
#include "stdafx.h" //返回下标 int maxSum(int * arr, int len, int & left, int & right) { int start = arr[0]; int sum = arr[0]; left=0; right=0; int cur_left=0,cur_right=0;
·
2015-11-13 06:29
编程之美
数组循环移位(
编程之美
2.17)
#include "stdafx.h" void reverse(int * arr, int left, int right) { for(;left<right;left++,right--) { int temp = arr[left]; arr[left] = arr[right]; arr[right] = temp; }
·
2015-11-13 06:29
编程之美
子数组的最大乘积(
编程之美
2.13,两种解法)
#include "stdafx.h" //书解法一 int max(int * arr, size_t len) { int * s = new int[len+1]; int * t = new int[len+1]; int * p = new int[len]; s[0] = 1; t[len] = 1; for(int i=1;i
·
2015-11-13 06:28
编程之美
不要被阶乘吓倒(
编程之美
2.2)
#include "stdafx.h" //N阶乘末尾有多少个0 int question1(int n) { int ret = 0; while(n) { n /= 5; ret += n; } return ret; } //N阶乘的二进制表示中最低位1的位置 int question2(int n) { in
·
2015-11-13 06:27
编程之美
快速寻找满足条件的两个数(
编程之美
2.12)
#include "stdafx.h" #include <cassert> void check_sum(int * arr, size_t len, int sum) { assert(arr); int i=0,j=len-1; while(i<j) { int cur_sum = arr[i]+arr[j]; if
·
2015-11-13 06:27
编程之美
寻找数组中的最大值和最小值(
编程之美
2.10,包括最大值和次大值)
// 2_9.cpp : Defines the entry point for the console application. // #include "stdafx.h" #include <cassert> #define INT_MIN -100000 //最大值和最小值 void min_max(int * arr, size_t
·
2015-11-13 06:26
编程之美
最大公约数问题(
编程之美
2.7)
#include "stdafx.h" //辗转相除法的改良版,因为取摸开销大,所以改用减法,然后利用是否都是偶数的性质,做优化 int gcd(int a, int b) { if(a<b) return gcd(b,a); if(b==0) return a; else { if(a&1==0) { i
·
2015-11-13 06:25
编程之美
寻找发帖水王(
编程之美
2.3)
#include "stdafx.h" int find(int * ID, int N) { int cand; int nTimes=0; for(int i=0;i<N;i++) { if(nTimes == 0) { cand = i; nTimes = 1; } else { if(c
·
2015-11-13 06:24
编程之美
1的数目(
编程之美
2.4)
// 2_4.cpp : Defines the entry point for the console application. // #include "stdafx.h" long sum1s(long n) { long count =0; long factor = 1; long lower = 0; long cur = 0
·
2015-11-13 06:24
编程之美
求二进制数中1的个数(
编程之美
2.1)
#include "stdafx.h" int count(int t) { int ret = 0; while(t) { t &= t-1; ret++; } return ret; } int _tmain(int argc, _TCHAR* argv[]) { printf("%d\n",
·
2015-11-13 06:23
编程之美
重建二叉树(
编程之美
3.9)
#include "stdafx.h" #include <assert.h> struct Node { Node * left; Node * right; char value; }; void Rebuild(char * pPreOrder, char * pInOrder, int nTreeLen, Node ** roo
·
2015-11-13 06:22
编程之美
分层遍历二叉树(
编程之美
3.10)
// 3_10.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include <vector> struct Node { int data; Node * left; Node * right; }; int printByLevel(Node * root, int level)
·
2015-11-13 06:22
编程之美
上一页
19
20
21
22
23
24
25
26
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他