自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 收藏
  • 关注

原创 【无标题】

leetcode two sum

2022-08-30 09:00:58 109 1

原创 leetcode--Lexicographical Numbers

直接对于树的算法操作大多数很经典,比较难的算法是题目中没有给出树结构但是,构造树结构解决能够达到较好的性能(1)有序问题——类似于二叉搜索树,使用树结构有时候有利于解决一些和顺序相关的问题(2)带有前缀的序列问题问题1、 给定一个整数 n, 返回从 1 到 n 的字典顺序。例子: 给定 n =1 3,返回 [1,10,11,12,13,2,3,4,5,6,7,8,9] 。分析:这道题可以...

2019-06-18 17:01:18 114

原创 Eclipse 中删除可执行jar包的历史记录

使用Eclipse时,有时候会需要将代码打包成可执行jar文件上传到服务器上使用。但是jar包打的多了,历史信息就会比较乱。我的做法是将runnable jar file的历史记录清理掉eclipse的Runnable JAR File Specification 下的Launch configuration下拉列表才会有记录。如果想要删除下拉列表里的历史记录,只需要进下面的目录,删除里面的文件...

2019-06-17 19:37:06 493

原创 leetcode--Divisor Game

Divisor Game(1)两个人做游戏,初始化题板上有个数字N,游戏步骤如下:选择一个数字0<x<N,且N%x==0;将N替换成为N-x(2)如果无法找到一个x,则当前玩家输(3)假如两个人都选择最佳策略,给定一个N,问先玩的玩家会不会赢?分析1:首先把这道题像成一道动态规划的问题:(1)我们知道如果给定数字2,就赢了;给定1就输了(2)对于N>2,我们找到N...

2019-04-28 09:40:54 255

原创 leetcode--Broken Calculator

题目描述:给定一个X和一个Y,X只能由减一或者乘以2的操作,请问怎么才能使用最少的步骤从X转化成Y?分析:Reveal Cards In Increasing Order这道题我总结出这样的规律,假如出现这种规则驱动的问题,如果正常不好解,我们可以逆向来做,这道题也是这样,X经过一些规则转化成为Y,那么也就是Y经过相反的操作变成X?(1)假如Y<X,Y只能不断加一靠近X,很容易解决(2...

2019-03-31 21:22:58 121

原创 leetcode--Reordered Power of 2

题目描述:给定一个数字,我们对组合这个数字的每个个位数重新排序,是否能够得到2的幂次方(数字中有0)不能排在前面?分析:(1)在不知道有什么巧妙方法之前,我总是考虑暴力破解,然后看看能不能有可以省略的步骤,最后总结出一个更高效的算法。(2)这道题如何来暴力破解呢?获取这个数字重组后的所有可能的结果判断每个结果是否是2的幂次方(3)上面的第二个步骤看起来是必须的,我们必须要对一个目标...

2019-03-31 20:21:44 159

原创 leetcode--Trapping Rain Water

题目描述:给定n个非负整数表示高地,每个高地的宽度是1,计算下雨后由这些高地能储存多少水?例子:事实一:储水其实是一个个孤立的单位,特点是最高的两个柱子刚好是两个边上的柱子事实二:一个水柱的体积V=(h−h′)∗wV=(h-h&#x27;)*wV=(h−h′)∗wh等于水注的高度,h’是该位置柱子的高度,w=1水柱的高度,其实是两个边界上较短的那根柱子的高度(所谓的短板)所以...

2019-03-26 09:15:03 188

原创 leetcode--Boats to Save People

题目:给定数组表示人的重量,现在用船去救这些人,每条小船载重限制为limit,最多坐两个人,求最少需要多少条小船?分析:(1)假如一开始就知道了这道题是使用贪心策略,其实还比较简单。最大最小的匹配尝试并证明一下就行了。但是一开始,不太容易往贪心上考虑。(2)先来看看暴力破解,我们可以尝试将所有的people两人一组组队,这样一共会有大约(n-1)(n+1)/4中组队的情况,这里排列组合就不详...

2019-03-20 16:31:55 138

原创 leetcode--Valid Triangle Number

问题描述:给定一个非负数组,将它们的大小作为长度,能够在组成多少个合法的三角形。下面是一个例子:Input: [2,2,3,4]Output: 3Explanation:Valid combinations are: 2,3,4 (using the first 2)2,3,4 (using the second 2)2,2,3分析:(1)这个问题我开始没有想到较好的方法,于是...

2019-03-19 15:05:32 151

原创 排序算法1--冒泡排序

已知的排序算法有很多种,如果不考虑堆排序这种依赖于特定数据结构的算法,大致上可以分成两类——一类属于分解问题型的,也就是将问题拆分成更小的规模再解决,快排算法和归并排序都是分解问题的算法,大类上都属于分治算法。另一种不分解类型的,基本思路是每轮操作会向有序的结果走一小步,直到最终有序。冒泡排序,选择排序和希尔排序都属于这种类型。下面以非降序为例介绍下冒泡算法:算法步骤:for i &amp;amp;amp;lt;- ...

2019-03-17 23:13:08 158

原创 leetcode-- Walking Robot Simulation

问题描述:一个机器人现在处于(0,0)的位置,面朝北方,机器人会受到下面的指令:(1)-2:向左转90度(2)-1:向右转90度(3)1=&lt;x&lt;=9的整数:前进x步,路上会有障碍物,遇到障碍物不能前进。给定指令集合和障碍物的位置,求机器人能够到达的最远位置的平方。分析:题目本身比较简单,我们按照给定的要求操作,如果是前进先判断是否遇到障碍物,每次只走一步。但是写程序的时候比较麻...

2019-03-11 15:26:36 200

原创 数字的算法--大数乘法2

准备一、数学家高斯曾经发现虽然计算两个复数的乘积看似包含4乘法:(a+bi)(c+di)=ac−bd+(ad+bc)i(a+bi)(c+di)=ac-bd+(ad+bc)i(a+bi)(c+di)=ac−bd+(ad+bc)i但是其实三次实数乘法就可已完成,因为我们需要的就是系数ac,bd,(ad+bc)ac,bd,(ad+bc)ac,bd,(ad+bc)(ad+bc)=(a+b)(c+d)...

2019-03-06 20:23:51 663

原创 数字的算法--大数乘法1

这一节来总结大数乘法,当然稍微熟悉算法的人都知道,有小于O(n2)O(n^2)O(n2)的分治算法,这个在后面再分析。我们先来从最简单的乘法规则说起。两个数x,y相乘的算法思想是:创建一个中间数组,数组中的每个元素用来存放x与y的每一位的乘积,每次乘积之后中间伴随着移位操作。最后将中间结果相加。假定我们想做乘法13∗1113*1113∗11,用二进制表示它们的结果是x = 1101,y=1011...

2019-03-05 15:14:04 512

原创 leetcode:Implement Rand10() Using Rand7()

Implement Rand10() Using Rand7()题目:给定一个产生1-7的随机数的方法Rand7(),写出一个产生1-10的随机数的方法分析:第一种想法是我们将两次随机结果相加扩大范围,然后选择10个某些等概率的组合映射到1-10输出问题是如果只选择单个组合,比如x = rand7()-1,y=rand7(),当且仅当x=0,y=1时输出1。这样只有10∗(1/7)∗(1/7)...

2019-03-04 19:57:16 337

原创 leetcode:Sort Array By Parity II

综述:数组问题个人总结(1)遍历问题,单指针还是双指针,单向遍历还是双向遍历(2)查找问题–hash方法(空间要求),二分查找(有序)hash算法尤其比较典型的是,字母和数字出现次数问题;数组的值刚好分布在不大于数组长度的自然数里的情况可以天然使用hash方法。(3)考虑边界的问题,一维和二维数组中都存在边界问题,开头和结尾处可能与其他元素的考虑方式不同(4)滑动窗口问题,整体无法解决,...

2019-03-04 19:38:59 306

原创 数字的算法--大数加法

很多算法教程里都讨论过大数乘法,对于长数字的加法却很少做分析。因为正常的数字在计算机上一条指令就完成了加法操作。但是对于超过了计算机表示位数的大数字,加法需要按位操作计算。尽管也很简单,但是有一些细节容易忽略。对于两个n位数的加法,我们首先对齐它们的右端,然后从右至左的按位执行加法操作。在操作过程中维持一个进位,因此每个计算都可以看作三个一位数的加法操作。下面给出一个例子:对于两个n位数相...

2019-03-04 19:18:48 1290

空空如也

空空如也

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

TA关注的人

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