LxbZone


  • 首页

  • 标签

  • 分类

  • 归档

  • 搜索

179.最大数

发表于 2020-08-27 | 分类于 算法
字数统计: 520 | 阅读时长 ≈ 2
题目描述 题解快排这道题得通过排序来做, 如何排序, 也就是排序规则的制定就变成了解题的关键. 如果两个字符串x 和y , 若 x+y < y+x 则定义x>y , 注意, x 和y 都是字符串, 举例说明就是: "30"+"3"<" ...
阅读全文 »

56.合并区间

发表于 2020-08-25 | 分类于 算法
字数统计: 118 | 阅读时长 ≈ 1
题目描述 题解排序首先将所有的数组按照第一个元素的大小进行排序, 然后对每个数组进行遍历, 判断是否进行合并 12345678910111213141516public int[][] merge(int[][] intervals) { int n = intervals.leng ...
阅读全文 »

jz66.构建乘积数组

发表于 2020-08-23 | 分类于 算法
字数统计: 110 | 阅读时长 ≈ 1
题目描述 题解对数组进行遍历两次即可 第一次遍历先把下三角求出, 第二次遍历把上三角的乘积求出 123456789101112131415161718public int[] constructArr(int[] a) { int len = a.length; int[] ...
阅读全文 »

jz65.不用加减乘除做加法

发表于 2020-08-23 | 分类于 算法
字数统计: 176 | 阅读时长 ≈ 1
题目描述 题解因为不能使用加减乘除, 那么只能考虑位运算, 对于二进制下的两个数某位的加法有以下规律 a(i) b(i) 无进位和n(i) 进位c(i+1) 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 观察发现,无进位和 与 异或运算 规律相同,进位 ...
阅读全文 »

jz64.求1+2+...n

发表于 2020-08-23 | 分类于 算法
字数统计: 154 | 阅读时长 ≈ 1
题目描述 题解因为运算符号和循环以及判断语句都不能用. 所以只能考虑逻辑运算符进行计算(&&, ||,!) 对于逻辑运算符有个短路 的性质 AA && BB 若AA为false, 则会直接返回false, 造成BB的短路 AA || BB 若AA为true, 则会 ...
阅读全文 »

jz62.圆圈中最后剩下的数字

发表于 2020-08-23 | 分类于 算法
字数统计: 696 | 阅读时长 ≈ 2
题目描述 题解模拟链表如果使用链表的话由于遍历过程花费巨大, 会造成超出时间限制的情况, 所以这道题使用列表来模拟链表 假设当前删除的位置是 idx,下一个删除的数字的位置是 idx + m 。但是,由于把当前位置的数字删除了,后面的数字会前移一位,所以实际的下一个位置是 idx + m - 1。由 ...
阅读全文 »

jz61.扑克牌中的顺子

发表于 2020-08-23 | 分类于 算法
字数统计: 165 | 阅读时长 ≈ 1
题目描述 题解小根堆这道题的思路是遍历地判断当前地值比上一个值大一,所以保留着单调的顺序, 考虑使用堆结构, 使每一个堆顶的元素都比上一个弹出的元素大一. 如果没有大一, 那么查看是否有0的影响. 123456789101112131415161718192021222324252627public ...
阅读全文 »

jz59_2.队列的最大值

发表于 2020-08-22 | 分类于 算法
字数统计: 243 | 阅读时长 ≈ 1
题目描述 题解辅助队列在第三十题中使用辅助栈的方法完成了最小值的功能, 这道题沿用该辅助结构的思想, 为队列创建一个辅助队列, 每当往主队列中执行入队和出队操作时都要考虑维护辅助栈. 当入队时, 为了保证辅助队列的单调性, 需要先将所有比该数小的元素删除 出队的如果正是辅助队列的最大元素, 那么要将 ...
阅读全文 »

jz59_1.滑动窗口的最大值

发表于 2020-08-21 | 分类于 算法
字数统计: 378 | 阅读时长 ≈ 1
题目描述 题解单调队列之前做过查找栈中最小值的题目, 做法是维护一个辅助的单调栈, 使其栈顶元素始终是主栈中的最小值. 本题的不同点在于主结构为滑动窗口, 那么对应的辅助机构为双端队列, 下面利用单调双端队列来完成题目要求. 每次滑动, 都要将右端元素加入窗口, 左端元素扔出窗口. 为了保持队列的单 ...
阅读全文 »

jz57_2.和为s的连续正数序列

发表于 2020-08-21 | 分类于 算法
字数统计: 276 | 阅读时长 ≈ 1
题目描述 题解滑动窗口这道题要求的是连续子序列, 所以使用滑动窗口的思想比较合适. 滑动窗口由两个指针划出的区域组成, 两个指针只能向同一个方向移动, 在同一时间只能移动一个指针. 当窗口的整数和小于目标值, 就移动右指针, 每移动一次, 窗口的整数和都要增大 当窗口的整数和小于目标值, 就移动左 ...
阅读全文 »
<i class="fa fa-angle-left"></i>1…567…22<i class="fa fa-angle-right"></i>
lxb

lxb

214 日志
10 分类
58 标签
GitHub Weibo
Links
  • 二次元默烦
  • 超级猛的超哥
© 2020 lxb | Site words total count: 151.9k
本站访问数 人次 本站总访问量 次