自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

小滋

小滋 点滴

  • 博客(232)
  • 收藏
  • 关注

原创 字符编码

题目描述请设计一个算法,给一个字符串进行二进制编码,使得编码后字符串的长度最短。IDEA考查的是哈夫曼编码。统计每个字符出现的频率,使得出现频率最小的字符编码长度最长,出现频率最大的字符,编码长度最小。设置一个小顶堆,用于每次取出对顶的最小的两个元素,两这两个元素相加再放入堆中,直到堆中只剩下一个元素位置。编码的长度即为此哈夫曼树非叶子节点数值和,即累加每次从堆中取出的最小两个

2017-03-30 11:40:36 402

原创 矩阵元素相乘

题目描述A[n,m]是一个n行m列的矩阵,a[i,j]表示A的第i行j列的元素,定义x[i,j]为A的第i行和第j列除了a[i,j]之外所有元素(共n+m-2个)的乘积,即x[i,j]=a[i,1]*a[i,2]*...*a[i,j-1]*...*a[i,m]*a[1,j]*a[2,j]...*a[i-1,j]*a[i+1,j]...*a[n,j],现输入非负整形的矩阵A[n,m],求MAX(

2017-03-25 10:20:31 4991 1

原创 生成格雷码

题目描述在一组数的编码中,若任意两个相邻的代码只有一位二进制数不同, 则称这种编码为格雷码(Gray Code),请编写一个函数,使用递归的方法生成N位的格雷码。给定一个整数n,请返回n位的格雷码,顺序为从0开始。IDEACODEclass GrayCode {public: vector getGray(int n) { vector

2017-03-24 11:29:37 436

原创 年终奖

题目描述小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物,每个小的棋盘上面放置着一个礼物,他需要从左上角开始游戏,每次只能向下或者向右移动一步,到达右下角停止,一路上的格子里的礼物小东都能拿到,请设计一个算法使小东拿到价值最高的礼物。给定一个6*6的矩阵board,其中每个元素为对应格子的礼物价值

2017-03-23 10:08:37 289

原创 数独

题目描述数独是一个我们都非常熟悉的经典游戏,运用计算机我们可以很快地解开数独难题,现在有一些简单的数独题目,请编写一个程序求解。IDEA数独,即9*9的矩阵,填入1-9的数字,让每一行,每一列,每一宫(共9个宫)的数字不重复。用动态规划法。深度搜索,从左到右,从上到下一次为,填入数n(n=0,1,...,80)检查n所在的行,列,宫是否正确。注意n对应的坐标为(n/9,n%

2017-03-22 10:32:14 385

原创 字符集合

题目描述输入一个字符串,求出该字符串包含的字符集合IDEA将大写 小写字符抓换为整型,小标为0-25以及26-51的数字存储CODE#include#include #include#includeusing namespace std;int main(){ string str; while(cin>>str){ vector flag(55,0);

2017-03-22 10:24:27 335

原创 删数

题目描述有一个数组a[N]顺序存放0~N-1,要求每隔两个数删掉一个数,到末尾时循环至开头继续进行,求最后一个被删掉的数的原始下标位置。以8个数(N=7)为例:{0,1,2,3,4,5,6,7},0->1->2(删除)->3->4->5(删除)->6->7->0(删除),如此循环直到最后一个数被删除。CODE#include#include #include#includ

2017-03-22 10:21:47 274

原创 聊天

题目描述A和B是好友,他们经常在空闲时间聊天,A的空闲时间为[a1 ,b1 ],[a2 ,b2 ]..[ap ,bp ]。B的空闲时间是[c1 +t,d1 +t]..[cq +t,dq +t],这里t为B的起床时间。这些时间包括了边界点。B的起床时间为[l,r]的一个时刻。若一个起床时间能使两人在任意时刻聊天,那么这个时间就是合适的,问有多少个合适的起床时间?IDEAA与B的空闲时间有

2017-03-17 10:10:28 187

原创 投篮游戏

题目描述有一个投篮游戏。球场有p个篮筐,编号为0,1...,p-1。每个篮筐下有个袋子,每个袋子最多装一个篮球。有n个篮球,每个球编号xi 。规则是将数字为xi 的篮球投到xi 除p的余数为编号的袋里。若袋里已有篮球则球弹出游戏结束输出i,否则重复至所有球都投完。输出-1。问游戏最终的输出是什么?IDEA不能一边输入一边判断遇到不满足直接退出游戏,因为需要让全部篮球编号都输入完CO

2017-03-17 10:08:27 632

原创 回文串

题目描述给定一个字符串,问是否能通过添加一个字母将其变为回文串。IDEA若果这个字符串能够通过添加一个字符变为回文,则其也可以通过删除一个字符变为回文,删除一个字符:str.erase(i,1);CODE#include#include #includeusing namespace std;int isPalindrome(string str){ for(in

2017-03-17 10:06:19 273

原创 最大间隔

题目描述给定一个递增序列,a1 IDEA一次遍历,求出删除元素前的最大间隔,删除元素之后的最大间隔,比较两个最大间隔的最小值,即为所求CODE#include#includeusing namespace std;int main(){ int n; while(cin>>n){ vector vec(n); vector

2017-03-16 11:03:14 312

原创 搬圆桌

题目描述现在有一张半径为r的圆桌,其中心位于(x,y),现在他想把圆桌的中心移到(x1,y1)。每次移动一步,都必须在圆桌边缘固定一个点然后将圆桌绕这个点旋转。问最少需要移动几步。IDEA转换思想,题中说在圆桌边缘固定一个点然后将圆桌绕这个点旋转,意思是每次圆心移动2r的距离,算出起点到终点的距离,想出向上取整即可CODE#include#includeusing name

2017-03-16 11:01:15 293

原创 蘑菇阵

题目描述现在有两个好友A和B,住在一片长有蘑菇的由n*m个方格组成的草地,A在(1,1),B在(n,m)。现在A想要拜访B,由于她只想去B的家,所以每次她只会走(i,j+1)或(i+1,j)这样的路线,在草地上有k个蘑菇种在格子里(多个蘑菇可能在同一方格),问:A如果每一步随机选择的话(若她在边界上,则只有一种选择),那么她不碰到蘑菇走到B的家的概率是多少?IDEA此题用动态规划求,设

2017-03-16 10:58:33 299

原创 钓鱼比赛

题目描述ss请cc来家里钓鱼,鱼塘可划分为n*m的格子,每个格子有不同的概率钓上鱼,cc一直在坐标(x,y)的格子钓鱼,而ss每分钟随机钓一个格子。问t分钟后他们谁至少钓到一条鱼的概率大?为多少?IDEA知道钓着一条鱼,情况由多种,我们考虑其对立事件,一条鱼到没钓到,概率为1-p,进过 t 事件,其至少钓到一条鱼的概率为1-(1-p)^tcc的p=其所在格子的钓鱼概率ss是随机

2017-03-16 10:55:18 304

原创 裁减网格纸

题目描述度度熊有一张网格纸,但是纸上有一些点过的点,每个点都在网格点上,若把网格看成一个坐标轴平行于网格线的坐标系的话,每个点可以用一对整数x,y来表示。度度熊必须沿着网格线画一个正方形,使所有点在正方形的内部或者边界。然后把这个正方形剪下来。问剪掉正方形的最小面积是多少。 IDEA即求包含所有坐标的最小正方形面积,所以要求出最大最小的x和y,因为是正方形,只能用最大的difX或者最大

2017-03-15 10:41:23 356

原创 罪犯转移

题目描述C市现在要转移一批罪犯到D市,C市有n名罪犯,按照入狱时间有顺序,另外每个罪犯有一个罪行值,值越大罪越重。现在为了方便管理,市长决定转移入狱时间连续的c名犯人,同时要求转移犯人的罪行值之和不超过t,问有多少种选择的方式? IDEA动态规划,c个罪犯的罪值和值计算一次,每次移动指针,只需在这个sum基础上减去上一个,加上新的即可CODE#include#include

2017-03-15 10:38:52 244

原创 评价年龄

题目描述已知某公司总人数为W,平均年龄为Y岁(每年3月末计算,同时每年3月初入职新人),假设每年离职率为x,x>0&&x从今年3月末开始,请实现一个算法,可以计算出第N年后公司员工的平均年龄。(最后结果向上取整)。 IDEAdouble ceil(double x) 向上取整,即取大于x的最小正数double floor(double x) 向下取整,即取小于等于x的最大正数

2017-03-15 10:36:08 964

原创 字符串计数

题目描述求字典序在s1和s2之间的,长度在len1到len2的字符串的个数,结果mod 1000007。IDEA从len1到len2依次计算,求和。s1和s2的第一个字符a,b 单独处理,看从a 到b有几个字符,第一个字符后到 i 位可以为任意字符,故 *26^(i-1)然后分别计算s1和s2除去第一位之后大于该字符串的个数,相减CODEimport java.util

2017-03-15 10:33:53 318

原创 直方图内最大矩形

题目描述有一个直方图,用一个整数数组表示,其中每列的宽度为1,求所给直方图包含的最大矩形面积。比如,对于直方图[2,7,9,4],它所包含的最大矩形的面积为14(即[7,9]包涵的7x2的矩形)。给定一个直方图A及它的总宽度n,请返回最大矩形面积。保证直方图宽度小于等于500。保证结果在int范围内。IDEA以当前考查的元素为基准,计算向右的最大值,再计算向左的最大值,将二者相加。

2017-03-14 11:02:16 400

原创 拜访

题目描述现在有一个城市销售经理,需要从公司出发,去拜访市内的商家,已知他的位置以及商家的位置,但是由于城市道路交通的原因,他只能在左右中选择一个方向,在上下中选择一个方向,现在问他有多少种方案到达商家地址。给定一个地图map及它的长宽n和m,其中1代表经理位置,2代表商家位置,-1代表不能经过的地区,0代表可以经过的地区,请返回方案数,保证一定存在合法路径。保证矩阵的长宽都小于等于10

2017-03-14 10:59:18 175

原创 棋子翻转

题目描述在4x4的棋盘上摆满了黑白棋子,黑白两色的位置和数目随机其中左上角坐标为(1,1),右下角坐标为(4,4),现在依次有一些翻转操作,要对一些给定支点坐标为中心的上下左右四个棋子的颜色进行翻转,请计算出翻转后的棋盘颜色。给定两个数组A和f,分别为初始棋盘和翻转位置。其中翻转位置共有3个。请返回翻转后的棋盘。IDEA注意 棋盘上坐标值从(1,1)开始,而给定的二维vector(

2017-03-14 10:51:47 341

原创 最大差值

题目描述有一个长为n的数组A,求满足0≤a≤b给定数组A及它的大小n,请返回最大差值。IDEA考点 贪心通过一次遍历,求出最大差值。在遍历过程中,要找到当前的最小值,用该最小值以后的数来减去该最小值,得到最大差值CODEclass LongestDistance {public: int getDis(vector A, int n) { //

2017-03-14 10:47:55 387

原创 寻找Coder

题目描述请设计一个高效算法,再给定的字符串数组中,找到包含"Coder"的字符串(不区分大小写),并将其作为一个新的数组返回。结果字符串的顺序按照"Coder"出现的次数递减排列,若两个串中"Coder"出现的次数相同,则保持他们在原数组中的位置关系。给定一个字符串数组A和它的大小n,请返回结果数组。保证原数组大小小于等于300,其中每个串的长度小于等于200。同时保证一定存在包含code

2017-03-13 15:15:41 202

原创 华为机试

题目描述扑克牌游戏大家应该都比较熟悉了,一副牌由54张组成,含3~A,2各4张,小王1张,大王1张。牌面从小到大用如下字符和字符串表示(其中,小写joker表示小王,大写JOKER表示大王):) 3 4 5 6 7 8 9 10 J Q K A 2 joker JOKER 输入两手牌,两手牌之间用“-”连接,每手牌的每张牌以空格分隔,“-”两边没有空格,如:4 4 4 4-joker

2017-03-13 11:33:43 292

原创 简单错误记录

题目描述开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。 处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加;(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符;(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的文件可能

2017-03-13 09:39:23 233

原创 Spring Outing

题目描述You class are planning for a spring outing. N people are voting for a destination out of K candidate places.The voting progress is below:First the class vote for the first candidate place. I

2017-03-12 19:49:24 979

原创 Numeric Keypad

题目描述The numberic keypad on your mobile phone looks like below:123456789 0 suppose you are holding your mobile phone with single hand. Your thumb points at digit 1. Each time you can 1)pres

2017-03-12 11:09:50 499

原创 LUCKY STRING

题目描述A string s is LUCKY if and only if the number of different characters in s is a fibonacci number. Given a string consisting of only lower case letters , output all its lucky non-empty substrings

2017-03-12 09:44:02 278

原创 风口的猪-中国牛市

题目描述风口之下,猪都能飞。当今中国股市牛市,真可谓“错过等七年”。 给你一个回顾历史的机会,已知一支股票连续n天的价格走势,以长度为n的整数数组表示,数组中第i个元素(prices[i])代表该股票第i天的股价。 假设你一开始没有股票,但有至多两次买入1股而后卖出1股的机会,并且买入前一定要先保证手上没有股票。若两次交易机会都放弃,收益为0。 设计算法,计算你能获得的最大收益。 输入数值范围

2017-03-11 20:37:40 256

原创 懂二进制

题目描述世界上有10种人,一种懂二进制,一种不懂。那么你知道两个int32整数m和n的二进制表达,有多少个位(bit)不同么? IDEA将两个数异或,两位相同异或得0,两位不同异或得1可转化为求m^n的二进制中1的个数CODEclass Solution {public: /** * 获得两个整形二进制表达位数不同的数量 * * @

2017-03-11 10:41:03 281

原创 小米Git

题目描述git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'IDEA简单来说,就是求给定多叉树中任意两个节点的最近公共父节点。要用到多叉树(连通图)的层序遍历,遍历过程中要记录每个节点的父节点parent[i],和每个节点的所在的层高depth[i]CODEclass Solution {public: /**

2017-03-11 10:21:00 161

原创 candy

题目描述There are N children standing in a line. Each child is assigned a rating value.You are giving candies to these children subjected to the following requirements:Each child must have at least

2017-02-25 22:32:00 201

原创 single-number-ii

题目描述Given an array of integers, every element appears three times except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it witho

2017-02-25 16:15:31 168

原创 single-number

题目描述Given an array of integers, every element appears twice except for one. Find that single one.Note:Your algorithm should have a linear runtime complexity. Could you implement it without usi

2017-02-25 11:23:32 174

原创 copy-list-with-random-pointer

题目描述A linked list is given such that each node contains an additional random pointer which could point to any node in the list or null.Return a deep copy of the list.IDEA实现带随机指针链表的深拷贝。深拷贝要就开辟新

2017-02-25 10:38:39 178

原创 word-break-ii

题目描述Given a string s and a dictionary of words dict, add spaces in s to construct a sentence where each word is a valid dictionary word.Return all such possible sentences.For example, givens =

2017-02-25 09:35:44 165

原创 word-break

题目描述Given a string s and a dictionary of words dict, determine if s can be segmented into a space-separated sequence of one or more dictionary words.For example, givens ="leetcode",dict =["l

2017-02-25 08:51:13 173

原创 linked-list-cycle

题目描述Given a linked list, determine if it has a cycle in it.Follow up:Can you solve it without using extra space?IDEA借助缓慢指针能相遇,说明有环CODE/** * Definition for singly-linked list. * struc

2017-02-23 10:11:26 155

原创 linked-list-cycle-ii

题目描述Given a linked list, return the node where the cycle begins. If there is no cycle, returnnull.Follow up:Can you solve it without using extra space?IDEA借用别人的一个图来说明。设置两个指针,slow每次走一步,

2017-02-23 09:49:56 220

原创 reorder-list

题目描述Given a singly linked list L: L0→L1→…→Ln-1→Ln,reorder it to: L0→Ln→L1→Ln-1→L2→Ln-2→…You must do this in-place without altering the nodes' values.For example,Given{1,2,3,4}, reorder it to

2017-02-23 09:21:42 214

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除