退款,是一个易造成负体验的业务产品。原因是商户对于退款的要求务必退款成功、高效、快,而且又得很好地支撑业务,否则就容易招来吐槽。 退款,一个看似简单,但充满复杂性的产品。 要...
退款,是一个易造成负体验的业务产品。原因是商户对于退款的要求务必退款成功、高效、快,而且又得很好地支撑业务,否则就容易招来吐槽。 退款,一个看似简单,但充满复杂性的产品。 要...
本文首发于 vivo互联网技术 微信公众号链接:https://mp.weixin.qq.com/s/OjfFcjnGWV5kutxXndtpMg 作者:vivo官网商城开...
有这么一类场景,需要频繁对数组nums的区间[i,j]中的每个元素做加减法。比如:先对区间[a, b]的每个元素值加3,再对[a+1, b-1]的每个元素值减2。按照常规的思...
排序算法是最基本最常用的算法,不同的排序算法在不同的场景或应用中会有不同的表现,我们需要对各种排序算法熟练才能将它们应用到实际当中,才能更好地发挥它们的优势。今天,来总结下各...
写了一下五种常见的排序算法(归并,快排,堆排序,插入排序,冒泡排序),通过排序同样的数组(随机生成0~10000000之间的数)对比了一下运行的时间。 我是用php实现的,具...
一、死锁的定义 多线程以及多进程改善了系统资源的利用率并提高了系统 的处理能力。然而,并发执行也带来了新的问题——死锁。所谓死锁是指多个线程因竞争资源而造成的一种僵局(互相等...
Leetcode 23. 合并K个升序链表 解法1. 使用优先级队列 第一步:定义一个最小堆(Java使用PriorityQueue即可) 第二步:将链表数组中所有链表头节点...
原创:猿天地(微信公众号 ID:cxytiandi),欢迎分享,转载请保留出处。 相信很多人都有类似的经历,在面试快要结束的时候经常会被问到一个问题:讲讲项目中的技术难点? ...
虽然用递归来解答反转链表的题型会使得程序的调用多了一层隐式压栈、消耗额外的内存空间,但此类题型用递归来解答确实会使整个代码看起来分外优雅,不得不说,递归的魅力让人欲罢不能、又...
leetcode 76. 最小覆盖子串 用滑动窗口来解答此题,有几个关键点: 一、确认整个遍历操作中我们需要用到的变量 left、right 就不用说了,在滑动窗口类的题目这...
二叉搜索树性质: 左子树所有节点都小于根节点,右子树所有节点都大于根节点 LeetCode 700. 二叉搜索树中的搜索 根据其性质,可很快写出搜索的代码如下: LeetCo...
LRUCache 全称为 Least Recently Used Cache ,用Java实现的话,可以很简单地用LinkedHashMap来实现。但如果面试过程中碰到面试官...
题意给得很明确,要我们按顺时针遍历输出整个矩阵的元素,那我们就顺着题意,看一下遍历过程中会需要用到哪些边界条件。 可以看到,从左到右遍历时,我们需要知道开始的位置(左边界),...
leetcode 380. 常数时间插入、删除和获取随机元素 题目要求我们实现一个数据结构来支持插入、删除和获取随机元素的时间复杂度都在O(1)之内。 难点和突破点: 我们...
代码逻辑如下:1、第一个for循环统计字符出现次数;2、第二个for循环第一步是跳过符合出现次数k的字符;3、while中做剪枝,防止测试用例中有连续不符合条件的字符出现,导...
对于二分查找,我们经常头疼于它的边界值问题,是要【左闭右开】(即[left, right) )进行搜索?还是【左闭右闭】(即[left,right] )进行搜索?对于【左闭右...
前言 微笑挖坑,努力填坑。 ———— 已经拥有黑眼圈,但还没学会小猪老师时间管理学的蛮三刀同学 本文是秒杀系统的第四篇,我们来讨论秒杀系统中缓存热点数据的问题...
二叉树有多种遍历方法,有层次遍历、深度优先遍历、广度优先遍历等。 本文只涉及二叉树的先序、中序、后序的递归和非递归遍历。 涉及到的代码都用Java编写。 首先给出二叉树节点类...