自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

一将功成万骨枯

纵有疾风起,人生不言弃

  • 博客(34)
  • 资源 (1)
  • 收藏
  • 关注

原创 【简单】数字翻转

对于一个整数X,定义操作rev(X)为将X按数位翻转过来,并且去除掉前导0。例如: 如果 X = 123,则rev(X) = 321; 如果 X = 100,则rev(X) = 1. 现在给出整数x和y,要求rev(rev(x) + rev(y))为多少?import java.util.LinkedList;import java.util.Queue;import java.util.

2017-03-22 19:37:10 833

原创 【BFS】跳石板

小易来到了一条石板路前,每块石板上从1挨着编号为:1、2、3……. 这条石板路要根据特殊的规则才能前进:对于小易当前所在的编号为K的 石板,小易单次只能往前跳K的一个约数(不含1和K)步,即跳到K+X(X为K的一个非1和本身的约数)的位置。 小易当前处在编号为N的石板,他想跳到编号恰好为M的石板去,小易想知道最少需要跳跃几次可以到达。 例如: N = 4,M = 24: 4->6->8->1

2017-03-22 19:07:37 308

原创 【简单】优雅的点

小易有一个圆心在坐标原点的圆,小易知道圆的半径的平方。小易认为在圆上的点而且横纵坐标都是整数的点是优雅的,小易现在想寻找一个算法计算出优雅的点的个数,请你来帮帮他。 例如:半径的平方如果为25 优雅的点就有:(+/-3, +/-4), (+/-4, +/-3), (0, +/-5) (+/-5, 0),一共12个点。import java.util.Scanner;public class M

2017-03-22 16:53:41 298

原创 【简单】回文序列

如果一个数字序列逆置之后跟原序列是一样的就称这样的数字序列为回文序列。例如: {1, 2, 1}, {15, 78, 78, 15} , {112} 是回文序列, {1, 2, 2}, {15, 78, 87, 51} ,{112, 2, 11} 不是回文序列。 现在给出一个数字序列,允许使用一种转换操作: 选择任意两个相邻的数,然后从序列移除这两个数,并用这两个数字的和插入到这两个数之前

2017-03-22 16:45:16 410

原创 【剑指offer】青蛙跳系列&&斐波拉契

题目1:大家都知道斐波那契数列,现在要求输入一个整数n,请你输出斐波那契数列的第n项。 n<=39 公式:f(n) = f(n-1)+f(n-2)显然直接递归容易超时,由此用迭代法,取一个变量存中间值。public class Solution { public int Fibonacci(int n) { int f1 = 1; int f2 =

2017-03-08 21:31:52 212

原创 【leetcode】Add Two Numbers

class ListNode { int val; ListNode next; ListNode(int x) { val = x; } }public class Solution { public ListNode addTwoNumbers(ListNode l1, ListNode l2) { return addT

2017-03-07 16:54:25 230

原创 【leetcode】Two Sum

import java.util.HashMap;public class Solution { public int[] twoSum(int[] nums, int target) { HashMap<Integer,Integer> map = new HashMap<Integer,Integer>(); for(int i=0;i<nums.leng

2017-03-07 16:53:19 222

原创 【Java基础向】多态

方法签名:方法名+参数(个数,类型,顺序)重写(override)-方法覆盖子类重写父类方法,仅实例方法可被重写,成员变量和静态方法只能被隐藏(即子类声明同样的成员变量和静态方法,本质不是重写父类方法)重写实例:父类Parent中有实例方法A,子类child定义了与A 相同签名和子集返回类型 的实例方法B,子类对象ChildObj只能调用自己的实例方法B。 方法的重写(override)两同两

2017-03-07 11:00:27 186

原创 【剑指offer】旋转数组的最小数字&&二分查找

题目:把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。 输入一个非递减排序的数组的一个旋转,输出旋转数组的最小元素。 例如数组{3,4,5,1,2}为{1,2,3,4,5}的一个旋转,该数组的最小值为1。 NOTE:给出的所有元素都大于0,若数组大小为0,请返回0。public class Solution { /** * 简易方法 * @para

2017-03-06 23:18:28 368

原创 【剑指offer】用两个栈实现队列

队列:先进先出,后进后出 栈:先进后出,后进先出题目:用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。import java.util.Stack;public class Solution { Stack<Integer> stack1 = new Stack<Integer>(); Stack<Integer> stack2 = new

2017-03-06 22:34:34 190

原创 【剑指offer】重建二叉树&&二叉树的递归与非递归遍历

前序遍历:先根节点,左子结点,右子节点。 中序遍历:先左子节点,根节点,右子节点。 后序遍历:先左子结点,右子节点,根节点。题目:输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。import java

2017-03-05 22:55:55 450

原创 【剑指offer】从尾到头打印链表

递归,第一次用java写编程题。import java.util.ArrayList;class ListNode { int val; ListNode next = null; ListNode(int val) { this.val = val; } }public class Solution

2017-03-05 21:09:09 216

原创 【Java基础笔记】面向对象基础

面向对象三要素:封装,继承,多态。封装 原则:将不需要对外提供的成员变量隐藏起来,把属性都表示为私有的,提供其公共的方法对其访问 意义:明确标识出允许外部使用的所有成员函数和数据项,或者叫接口。public class Student { private String name,sex; //成员变量为私有,外部只能通过set设置,get方法访问。 public String

2017-03-05 19:48:46 235

原创 阿里电面总结

今早刚解决完编程测试题,今天下午就接到了电面的电话,面的是Java岗,面试官很温柔,QAQ看得出他尽量想帮我,可惜我还没怎么复习清楚,所以简直是惨不忍睹,估计是一轮跪了,说起来这是第一回面试,就此做个总结。0.开场来段自我介绍当时太紧张了,建议准备一份腹稿背诵吧。(想起来完全不知道自己说了个啥玩意儿)1.客户端与服务器端如何通信?项目做了个远程桌面软件,然后问我这个问题,我卡了点壳,如果没胡言乱语,

2017-03-04 17:36:59 5215 1

原创 Codeforces Round #368 (Div. 2)

直达–>Codeforces Round #368 (Div. 2)A Brain’s Photos给你一个NxM的矩阵,一个字母代表一种颜色,如果有”C”,”M”,”Y”三种中任意一种就输出”#Color”,如果只有”G”,”B”,”W”就输出”#Black&White”。#include <cstdio>#include <cstring>using namespace std;const

2016-08-21 15:37:27 203

原创 【枚举】POJ 3279

直达–>POJ 3279 Fliptile题意:poj的奶牛又开始作孽了,这回他一跺脚就会让上下左右的砖块翻转(1->0 || 0->1),问你最少踩哪些砖块才能让初始的砖块全部变成0,要输出踩砖块位置。思路:也不知道为什么归类在搜索里,问了大牛,枚举第一行的情况(1<#include <cstdio>#include <cstring>using namespace std;int N,M;

2016-08-21 15:16:39 176

原创 【模拟】POJ 3087

直达–>POJ 3087 Shuffle’m Up题意:一开始没怎么看明白,注意现是从S2里拿牌放在最底下,再放S1,这样交叉放(我一开始以为是S1和S2随意哪个先放,分别模拟取最小),然后在从中间截一半,下半部给组成新的S1,上半部组成新的S2。然后再交叉洗牌,重复,问达到给出的S12最小的洗牌次数。思路:题意懂了直接模拟就行,无法到达的情况就是某一次洗牌出来的S12和之前出现过的S12重合了,也

2016-08-21 14:54:34 238

原创 【BFS】HDU 1495

直达–> HDU 1495 非常可乐相似题联动–>POJ 3414 Pots题意:中文题,不解释。思路:三个杯子倒来倒去,最后能让其中两个平分即可。可能性六种。判定的时候注意第三个杯子不能有水,倒的时候也要注意别超过了倒进去的杯子的容积。 a->b || a->c || b->a || b->c || c->a || c->b#include <cstdio>#include <cstrin

2016-08-21 11:25:37 244

原创 【BFS】POJ 3414

直达POJ3414 题目大意:两个壶倒水,三种操作,两个桶其中一个满足等于C的最少操作,输出路径。注意a,b互倒的时候能不能倒满,或者还有剩下的。 a->b || b->a || a->0 || b->0 || a->A || b->B (0<=a<=A&&0<=b<=B)思路:虽说是BFS但是情况就这几种,分别写出来之后判断即可。输出路径可以用递归,我这里用了string来存。#inclu

2016-08-21 11:11:27 545

原创 【尺取】POJ 3320

POJ 3320 Jessica’s Reading Problem题意:一本书P页,第i页有ai知识点,问你至少从某一处开始连续要翻多少页才能复习完所有的知识点,不能跨页翻。思路:《挑战程序设计》上的尺取法的经典例题,set用来求出所有不重复知识点的个数,map用来计算是否有新出现的的知识点。 1.左端点s,右端点t,目前复习的知识点num初始化为0; 2.只要有t#include <cstd

2016-04-21 18:53:57 471

原创 BestCoder Round #80 1002

HDU 5666 Segment 题意:给你条斜率为-1,常数项为q(q为质数)的直线,连接原点与直线上整数格点,问你在有多少个格点在形成的无数个三角形内,而不在线段上,结果对P取模。思路:bestcoder题解上有思路,需要注意的是p为质数,情况就很少了,然后就是数据太大的问题,改一改快速幂就可以了。#include <cstdio>#include <cstring>#include <i

2016-04-19 13:42:26 221

原创 【贪心】HDU 1257

HDU 1257 最少拦截系统题意:中文题不解释。思路:网上有说贪心有说DP,想法就是开一个数组存每个拦截系统当前最高能拦截的导弹高度。输入每个导弹高度的时候就开始处理,遍历每一个拦截系统,一旦最高拦截高度比它高,就把当前拦截系统的高度调整为它的高度,如果访问到末尾都没有能拦截的系统,那么拦截系统加一。 P.S:听说这题杭电数据有点水/**Sample Input8 389 207 155 3

2016-04-16 14:51:48 248

原创 【DP】HDU 1260

HDU 1260 Tickets题目意思:有N个人要买票,你可以一个一个人卖票,时间分别为Xs,也可以相邻两个人一起卖票,时间为Ys,从早上八点开始卖票,问你何时最早将N个人的票卖完。思路:解决情况是当前最优,要么就单卖,状态最优就是前一个人的,要么和前一个人一起拼凑,状态最优是前两个人的,取时间最短的。 时间显示问题,注意下上下午的事情就好了。 dp[i] = min(dp[i-1]+sig

2016-04-16 13:46:05 208

原创 【DFS】POJ 1321

POJ 1321 棋盘问题 题意:中文题不解释。 思路:经典DP,比较取巧的想法是一行行(按照题目意思一行最多只能放一个)来看,标记一列列。注意考虑到有些行可能不放的情况。/**Sample Input2 1#..#4 4...#..#..#..#...-1 -1Sample Output21**/#include<cstdio>#include<cstring>us

2016-04-15 22:34:44 408

原创 【BFS】POJ 3278

POJ 3278 Catch That Cow 题目:你要去抓一头牛,给出你所在的坐标和牛所在的坐标,移动方式有两种:要么前一步或者后一步,要么移动到现在所在坐标的两倍,两种方式都要花费一分钟,问你最小花费时间恰好到达牛所在的地方。 思路:BFS求最优解,移动有三种情况,前后,和移动两倍位置,不过注意的地方是,当牛的坐标比你小,你只能一步步往后倒退,这个需要特判。#include<cstdio>

2016-04-15 22:26:35 507

原创 【BFS】POJ 2251

POJ 2251 Dungeon Master 题意:有一个地图,三维,走的方向是上下,左右,前后。问你最小步数从起始点走到出口。 思路:三维的BFS,就是多加一组状态,需要细心(不细心如我就找了半个多小时的错误才AC)/**Sample Input3 4 5S.....###..##..###.#############.####...###########.######

2016-04-15 22:19:06 225

原创 【DP】HDU 1176

HDU 1176 免费馅饼 题意:中文题目不解释。 思路:因为是从中间出发所以思路卡了许久,还在之前做了道HIHO入门的题。能想到的点,从时间思考,然后初始化1s的时候,4,5,6,的数值要特别赋值。之后就是统一的2-maxtime时间内,到当前位置就有能移动的三种情况,左移,右移,停留,比较前一秒情况的最大值+当前位置时间的馅饼值(maps[i][j]),最后求最大馅饼值得时候,要从maxti

2016-04-15 22:08:52 254

原创 【DP】HIHO 1078

HIHO #1037 : 数字三角形 题意:中文题就不说了。 思路:提示也很清楚,就这里贴一下代码。注意边界情况。 dp[i][j] = max(dp[i-1][j],dp[i-1][j-1])+maps[i][j] (maps[i][j]为坐标i,j房间奖券钱目)/**simple input526 41 2 84 0 9 66 5 5 3 6simple outpu

2016-04-15 21:20:17 302

原创 【DP】HDU 1114

HDU 1144 Piggy-Bank 题意:有这么个存钱罐,给你空的时候重量和满的时候的重量,再给你N中类型的硬币(给出N种硬币总数量和总重量,可多次使用),问你怎样恰好填满存钱罐,而让填入的硬币数量最少。 思路:完全背包,求最少填入硬币数量,要把dp数组全部填充为INF,求min,注意结果要恰好填满。 dp[j]= min(dp[j],dp[j-w[i]]+v[i])(dp[j]代表当前

2016-04-15 19:17:47 193

原创 【DP】HDU 1087

HDU 1078 Super Jumping! Jumping! Jumping!题意: 有这么个游戏,从start到end(自己决定在哪停下来)连续跳圈,中间不能空一个圈不跳,圈里的数字必须比你上次跳到圈里的数字大,最后求你所有路过的圈中数字总和最大。 思路:很明显的最长上升子序列之和,状态方程就是: dp[i] = max(dp[i],dp[j]+a[i])(a[i]>a[j],且i>j,

2016-04-15 12:40:26 223

原创 【DP】POJ 2385

题意:又是Bessie 这头牛在折腾,这回他喜欢吃苹果,于是在两棵苹果树下等着接苹果,但苹果不能落地后再接,吃的时候不算,假设他能拿得下所有苹果,问你在这时间内能拿到的最多的苹果是多少?想法:我的想法经过了九曲十八弯总算解了,最开始在第一棵或者第二棵树都没关系,就看你要不要移动一次,状态转移方程是dp[i][j] = max(dp[i-1][j-1],dp[i-1][j]),其中i代表时间,其

2015-07-27 10:47:02 298

原创 【二分】POJ 2109

谁骗我这是贪心TT大概就是求k的n次方等于p时的k(k到10^9),由于,p的数据到了10^101,n到200,所以直接算估计T ??反正看完想到二分,其实数据要是再大点估计我这个二分不行。网上有三种思路:    1、很自然的,因为觉得数据很大,会去想高精度(可以自己想,或者pow直接double数据还是挺小的)。然后加二分猜数。    2、于是想到转换数学运算:指对互化。用d

2015-04-20 14:19:46 383

原创 【贪心】SOJ 13983

SOJ 13983. Milk Scheduling这是比赛题,还是作死的我最讨厌的英文题,题目大意就是有n头奶牛,要在喂奶截止时间前给他喂奶并得到相应的含量的牛奶。一开始的想法就是挑选截止日期的最大产奶量的那头牛喂养,后来果不其然的WA了。空闲的时间也可以给奶牛喂奶啥的....bug不要太多。于是改来改去了,期间又WA了几发,总算是A掉了,但是代码也是要多搓有多搓,估计除了我自己

2015-04-12 14:04:31 338

原创 【贪心】POJ 1065

头一次接触POJ,然后写了自己比较擅长的贪心。解题思路大概就是从小排(这个很重要,然后用cmo随便长度或者重量的排序,选择最小的开始)直到所有比他weight大的,没有符合条件的了。就代表要再加一分钟了。然后再次访问,用used标记有没有用过。和活动顺序排序有点类似。/**测试样例:354 9 5 2 2 1 3 5 1 432 2 1 1 2 231 3 2

2015-04-10 19:00:36 380

空空如也

空空如也

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

TA关注的人

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