Ricadro


  • 首页

  • 标签

  • 分类

  • 归档

  • 关于

链表中倒数第k个节点

发表于 2019-03-04 | 分类于 剑指offer | | 阅读次数:
字数统计: 228字 | 阅读时长 ≈ 1分钟

题目描述

输入一个链表,输出该链表中倒数第k个结点。

解题思路

  • 由题所知,设链表长度为 N,需要得到链表中倒数第 k 个结点,正数则为第 (N-k)+1) 个结点。知道N-k则解决问题。
  • 则可以设定两个指针 A、B,由A先移动k个结点,则还剩N-k个结点,此时让 A 和 B 同时移动,可以知道当 A 移动到链表结尾时,B 移动到 N - k 个节点处,该位置就是倒数第 k 个节点。
阅读全文 »

调整数组顺序使奇数位于偶数前面

发表于 2019-03-03 | 分类于 剑指offer | | 阅读次数:
字数统计: 221字 | 阅读时长 ≈ 1分钟

题目描述

输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。

解题思路

  • 由两个数组分别保存奇数与偶数,然后再重新赋值到原数组中即可。
阅读全文 »

数值的整数次方

发表于 2019-03-03 | 分类于 剑指offer | | 阅读次数:
字数统计: 121字 | 阅读时长 ≈ 1分钟

题目描述

给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。

解题思路

  • xn = (x * x)n/2 n%2 = 0;
  • xn = x * (x2)n/2 n%2 = 1;
阅读全文 »

二进制中1的个数

发表于 2019-03-01 | 分类于 剑指offer | | 阅读次数:
字数统计: 77字 | 阅读时长 ≈ 1分钟

题目描述

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

解题思路

  • n : 111000
  • n-1 : 110111
  • n&(n-1) : 110000
阅读全文 »

矩形覆盖

发表于 2019-03-01 | 分类于 剑指offer | | 阅读次数:
字数统计: 121字 | 阅读时长 ≈ 1分钟

题目描述

我们可以用21的小矩形横着或者竖着去覆盖更大的矩形。请问用n个21的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法?

解题思路

  • 该问题和斐波那契数列类似。
阅读全文 »

MySQL索引小结

发表于 2019-02-28 | 分类于 学习笔记 | | 阅读次数:
字数统计: 595字 | 阅读时长 ≈ 2分钟

什么是索引

数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。
以上是维基百科对数据库索引的解释,那我们很好理解,数据库索引就是一种方便查询的数据结构。

索引类型

  • 普通索引(key):对关键字没有限制。
  • 唯一索引(unique key):要求记录提供的关键字不能重复。
  • 主键索引(primary key):要求关键字唯一且不为null。
阅读全文 »

变态跳台阶

发表于 2019-02-26 | 分类于 剑指offer | | 阅读次数:
字数统计: 125字 | 阅读时长 ≈ 1分钟

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。

解题思路

  • f(n) = f(n-1) + f(n-2) + ... + f(1) + f(0)
  • f(n-1) = f(n-2) + f(n-3) + ... + f(1) + f(0)
  • 两等式相加则得出 f(n) = 2f(n-1) 即f(n)为等比数列。
阅读全文 »

Spring Cloud(一)Eureka

发表于 2019-02-25 | 分类于 学习笔记 | | 阅读次数:
字数统计: 968字 | 阅读时长 ≈ 3分钟

Tips:此笔记为阅读翟永超先生所著的《Spring Cloud微服务实战》一书之后所总结

服务治理Eureka

1、基础架构

Eureka服务治理体系中的三个核心角色:服务注册中心、服务提供者、服务消费者。

  • 服务注册中心:Eureka提供的服务端,提供注册与发现的功能。
  • 服务提供者:提供服务的应用,只要是遵循Eureka通信机制的应用,包括Spring Boot应用等,它将自己提供的服务注册到Eureka,以供其他应用发现并消费。
  • 服务消费者:消费者应用从服务注册中心获取服务列表,从而使其知道去哪里调用所需要的服务。
    Tips:大多数情况下,客户端是服务消费者也是服务提供者。

2、服务治理机制

eureka

  • “服务注册中心-1”和“服务注册中心-2”,它们互相注册组成了高可用集群。
  • “服务提供者”启动了两个实例,一个注册到”服务注册中心-1”上,一个注册到”服务注册中心-2”上。
  • 还有两个“服务消费者“,它们也都分别只指向了一个注册中心。

服务注册中心

自我保护

服务注册之后,会与Eureka Server之间维护一个心跳连接,告诉Eureka Server自己还活着。Eureka Server在运行期间,会统计心跳失败的比例在15分钟内是否低于85%,如果低于 85%,Eureka Server会将这些实例保护起来,让这些实例不会过期,但是在保护期内如果服务刚好这个服务提供者非正常下线了,此时服务消费者就会拿到一个无效的服务实例,此时会调用失败,对于这个问题需要服务消费者端要有一些容错机制,如重试,断路器等。

失效剔除

当注册的服务非正常下线(网络故障等原因),为了从服务列表中将这些无法提供正常服务的实力剔除,Eureka Server会在启动的时候创建一个定时任务,每隔一段时间(默认为60s)将当前服务列表中超时(默认90s)没有续约的服务剔除。

阅读全文 »

跳台阶

发表于 2019-02-25 | 分类于 剑指offer | | 阅读次数:
字数统计: 121字 | 阅读时长 ≈ 1分钟

题目描述

一只青蛙一次可以跳上1级台阶,也可以跳上2级。求该青蛙跳上一个n级的台阶总共有多少种跳法(先后次序不同算不同的结果)。

解题思路

  • 该问题和斐波那契数列类似。
阅读全文 »

ionic手势滑动问题

发表于 2019-02-25 | 分类于 日常问题 | | 阅读次数:
字数统计: 261字 | 阅读时长 ≈ 1分钟

问题描述

  • 由A页面点击按钮跳转B页面,B页面加载时会有手势验证C页面校验,如在一定时间内则不需要弹出手势验证页C,否则跳转手势验证C页面。
  • 由于app开放了手势滑动功能,即可向右滑动返回上级页面。上面页面加载顺序为A➡B➡C,如未在C页面做处理,则滑动时直接滑到B页面,跳过了手势验证。

解决思路

  • 由于ionic的view是类似于栈这种模式,后进先出,所以可以直接先在堆栈中把B页面remove掉,然后在手势验证通过后再将B页面插到C页面之前,即可解决问题。
阅读全文 »
1234

ricadro

40 日志
7 分类
11 标签
GitHub E-Mail
© 2020 ricadro | Site words total count: 15.1k
由 Hexo 强力驱动
|
主题 — NexT.Muse v5.1.4