Fork me on GitHub

Tech For Fun

kaelzhang's blog

Restful API设计最佳实践

Restful API Design Best Practices

Restful API设计最佳实践 Restful API成熟度 在Richardson Maturity Model模型中,将RESTful分为4个等级: 4个等级分别是: 第一级(Level 0)的 Web 服务仅使用 HTTP 作为传输方式,实际上只是远程方法调用(RPC)的一种具体形式。SOAP 和 XML-RPC 都属于此类。 第二级(Level 1)的 Web ...

ARTS08

Algorithms-Review-Tip-Share

Algorithm 401. 二进制手表 二进制手表顶部有 4 个 LED 代表小时(0-11),底部的 6 个 LED 代表分钟(0-59)。 每个 LED 代表一个 0 或 1,最低位在右侧。 例如,上面的二进制手表读取 “3:25”。 给定一个非负整数 n 代表当前 LED 亮着的数量,返回所有可能的时间。 案例: 输入: n = 1 返回: [“1:00”, “2...

ARTS07

Algorithms-Review-Tip-Share

Algorithm 703. 数据流中的第K大元素 设计一个找到数据流中第K大元素的类(class)。注意是排序后的第K大元素,不是第K个不同的元素。 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器,它包含数据流中的初始元素。每次调用 KthLargest.add,返回当前数据流中第K大的元素。 示例: int k = 3; int[] arr...

ARTS06

Algorithms-Review-Tip-Share

Algorithm 63. 不同路径II 一个机器人位于一个 m * n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 现在考虑网格中有障碍物。那么从左上角到右下角将会有多少条不同的路径? 网格中的障碍物和空位置分别用 1 和 0 来表示。 说明:m 和 n 的值均不超...

ARTS05

Algorithms-Review-Tip-Share

Algorithm 62. 不同路径 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为“Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为“Finish”)。 问总共有多少条不同的路径? 例如,上图是一个7 x 3 的网格。有多少可能的路径? 说明:m 和 n 的值均不超过 100。 示例 1: 输入: m ...

ARTS04

Algorithms-Review-Tip-Share

Algorithm 322.零钱兑换 给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回 -1。 示例 1: 输入: coins = [1, 2, 5], amount = 11 输出: 3 解释: 11 = 5 + 5 + 1 示例 2: 输入: coins = [2]...

ARTS03

Algorithms-Review-Tip-Share

Algorithm 53. 最大子序和 给定一个整数数组 nums ,找到一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 示例: 输入: [-2,1,-3,4,-1,2,1,-5,4], 输出: 6 解释: 连续子数组 [4,-1,2,1] 的和最大,为 6。 进阶: 如果你已经实现复杂度为 O(n) 的解法,尝试使用更为精妙的分治法求解。 解决方...

ARTS02

Algorithms-Review-Tip-Share

Algorithm 343. 整数拆分 给定一个正整数 n,将其拆分为至少两个正整数的和,并使这些整数的乘积最大化。 返回你可以获得的最大乘积。 示例 1: 输入: 2 输出: 1 解释: 2 = 1 + 1, 1 × 1 = 1。 示例 2: 输入: 10 输出: 36 解释: 10 = 3 + 3 + 4, 3 × 3 × 4 = 36。 说明: 你可以假设...

ARTS01

Algorithms-Review- Tip-Share

Algorithm 给定一个非空的整数数组,返回其中出现频率前 k 高的元素。 示例 1: 输入: nums = [1,1,1,2,2,3], k = 2 输出: [1,2] 示例 2: 输入: nums = [1], k = 1 输出: [1] 说明: 你可以假设给定的 k 总是合理的,且 1 ≤ k ≤ 数组中不相同的元素的个数。 你的算法的时间复杂度必须优于...

主流数据搜索平台介绍

Introduction to mainstream data search platform

主流数据搜索平台介绍 本文对主流数据搜索产品或平台Elastic、Solr、Splunk进行介绍、对比及分析,已供企业数据搜索应用决策。首先看看三者之间的关系: 发展趋势 从趋势上来看,Elastic和Splunk上升明显,Elastic更是表现出了非常强劲的势头。老牌产品Solr情况则相反。 Elasticsearch 简介 Elasticsearch是一个实时的分...