
算法
清风已故
这个作者很懒,什么都没留下…
展开
-
整数反转 -----leetcode算法(简单)
给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。 示例1: 输入: 123 输出: 321 示例 2: 输入: -123 输出: -321 示例 3: 输入: 120 输出: 21 注意: 假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为[−231,231− 1]。请根据这个假设,如果反转后整数溢出那么就返回 0 /**解析 使用x...原创 2019-12-11 17:52:01 · 115 阅读 · 0 评论 -
堆排序算法(Java实现)
原始堆如下: 堆排序算法 构造初始堆,从最后一个非叶节点开始调整 选出叶子节点中比自己大的一个交换,如果交换后的叶子节点不满足堆,则继续调整。 image 20和16交换后导致16不满足堆的性质,因此需重新调整 image 构造好初始堆之后,将堆头元素交换到堆尾,堆尾的元素就已经是有序的了,然后一直重复,...转载 2019-12-10 16:59:52 · 254 阅读 · 0 评论 -
字符串中唯一不重复的字符 -----leetcode算法(简单)
给定一个字符串,找到它的第一个不重复的字符,并返回它的索引。如果不存在,则返回 -1。 案例: s = "leetcode" 返回 0. s = "loveleetcode", 返回 2. class Solution { public int firstUniqChar(String s) { int[] count = new int[128]; ...原创 2019-12-06 17:59:36 · 528 阅读 · 0 评论 -
两整数 之和 -----leetcode算法简单
不使用运算符+ 和-,计算两整数a、b之和。 示例 1: 输入: a = 1, b = 2 输出: 3 示例 2: 输入: a = -2, b = 3 输出: 1 这道题目其实很有意思,我以前有看到过 ,但是基础不牢固 所以还是忘记了,现在写个博客记录下 /**利用位操作实现加法 首先看十进制是如何做的: 5+7=12,三步走 第一步:相加各位...原创 2019-12-05 14:57:46 · 203 阅读 · 0 评论 -
赎金信 -----leetcode算法简单
给定一个赎金信 (ransom) 字符串和一个杂志(magazine)字符串,判断第一个字符串ransom能不能由第二个字符串magazines里面的字符构成。如果可以构成,返回 true ;否则返回 false。 (题目说明:为了不暴露赎金信字迹,要从杂志上搜索各个需要的字母,组成单词来表达意思。) 注意: 你可以假设两个字符串均只含有小写字母。 canConstruct("a", "b...原创 2019-12-05 14:41:42 · 325 阅读 · 0 评论