0%

1006. 笨阶乘

通常,正整数 n 的阶乘是所有小于或等于 n 的正整数的乘积。例如,factorial(10) = 10 * 9 * 8 * 7 * 6 * 5 * 4 * 3 * 2 * 1。

相反,我们设计了一个笨阶乘 clumsy:在整数的递减序列中,我们以一个固定顺序的操作符序列来依次替换原有的乘法操作符:乘法(*),除法(/),加法(+)和减法(-)。

Read more »

561 数组拆分 - Easy

给定长度为 2n 的整数数组 nums ,你的任务是将这些数分成 n 对, 例如 (a1, b1), (a2, b2), ..., (an, bn) ,使得从 1 到 n 的 min(ai, bi) 总和最大。

返回该 最大总和 。 这是比各个语言的排序速度吧。。。

最大总和 - 排序后返回奇数项之和 最小总和 - 排序后返回前n项

Read more »

697.数组的度 - Easy

给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。

你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。

Read more »

303. 区域和检索 - 数组不可变

给定一个整数数组 nums,求出数组从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点。

实现 NumArray 类:

NumArray(int[] nums) 使用数组 nums 初始化对象 int sumRange(int i, int j) 返回数组 nums 从索引 i 到 j(i ≤ j)范围内元素的总和,包含 i、j 两点(也就是 sum(nums[i], nums[i + 1], ... , nums[j]))

Read more »

(tinyfsm usage)[https://digint.ch/tinyfsm/doc/usage.html]

USAGE

Refer to the API examples: /examples/api/ provided with the TinyFSM package for a quick overview. Recommended starting points:

  • Simple Switch: /examples/api/simple_switch.cpp
  • Moore Machine: /examples/api/moore_machine.cpp
  • Elevator Project: /examples/elevator/

For an example in an RTOS environment, see the stm32f103stk-demo of the OpenMPTL project. Starting points:

The examples in the documentation below are mainly based on the "Elevator Project" example.

Read more »

前面通过DP获得了一个大致的速度折线,在时间上没有和障碍物发生碰撞。

接下来判断障碍物相对于该速度曲线的位置,

在曲线“上方”,需要判断是否需要避让来保持安全距离

在曲线“下方”,需要判断超车处理

Read more »

ProtoBuf Reflection Note

参考:官方文档 Descriptor

一种自动反射消息类型的 Google Protobuf 网络传输方案

Proto使用过程中,有这样几个问题:

  1. 对proto中已有的内容进行修改/删除非常不方便,例如将proto中的一个字段foo删除,需要:

    1. 在.proto里把foo删掉并重新编译,
    2. 在工程中删除所有的foo(),set_foo(),mutable_foo()等,否则编译会挂掉。

    尤其当foo不仅仅是一个变量时,或者该proto同时被很多工程使用时,会非常麻烦。

  2. 拿到了一个pb对象,希望遍历该对象的所有字段(反序列化)。

    例如定义一个pb message如下:

    1
    2
    3
    Person person;
    person.set_name("yingshin");
    person.set_age(21);

    希望将该对象自动转为json格式的字符串:

    1
    2
    3
    4
    {
    "name":"yingshin",
    "age":21
    }

    如果添加了新的字段,输出也能自动更新。

反射

protobuf提供了一种反射机制,能够动态地调用对象并获取信息。利用protobuf的反射机制,可以帮助优化以上两种场景。

Read more »