Jinhongliang's Blog

Jinhongliang's Blog


  • 首页

  • 分类

  • 关于

  • 归档

  • 标签

  • 公益404

  • 搜索

cJSON API 接口使用说明

发表于 2017-08-27   |     |   阅读次数

cJSON API 接口使用说明

cJSON的介绍

cJSON是一个轻量级的JSON解析器使用ANSIC标准。

所谓的轻量级,如果你的项目需要使用到解析JSON,那么只需要将cJSON的库中的cJSON.h和cJSON.c放入到你的项目中适当的位置就行了。

目前介绍的cJSON的版本为1.5.7。

cJSON库的项目的github地址为:cJSON

在项目的过程中还使用都了shell文件的解析JSON的库,也是轻量级的就是一个JSON.sh文件。

有兴趣的可以看一下这个shell的JSON库, JSON.sh

现在已经有了各种语言的解析的JSON的库,大家可以自行到github上面搜索

为什么介绍cJSON

在项目中需要使用到cJSON的解析JSON库,但是总感觉有点用起来不顺手,所以就自己写些demo来使用这些接口。

主要一些cJSON的接口使用到内存分配的问题,所以特别要注意,而且就在1.5.7刚刚修复了一个内存的问题。

组内还在讨论要不要,把cJSON的问题再升级一下。

自己做了写了一些非常简陋并且丑陋的example代码,link 下面的cjson文件下

阅读全文 »

第376题---Wiggle Subsequence

发表于 2017-08-26   |     |   阅读次数
  • 题意描述

    • 给定一个数组,求摆动子序列;摆动子序列是指两个相邻的数之差,交替正负
  • 思路

    • 统计子序列长度变量,控制摆动方向变量,前一个元素变量;如果size<2直接返回长度;判断前两个方向,length++,改变方向;如果方向相同,则prev复制,如果不同,则length++,改变方向(注意两个元素值相同的情况)
      阅读全文 »

第382题---Linked_list_random_node

发表于 2017-08-26   |     |   阅读次数
  • 题意描述

    • 给定一个单链表,返回单链表的随机结点,每一个结点的概率相同。假设链表非常大,不知道长度,不用额外的空间

  • 思路1

    • 首先,求出链表的长度,生成随机数,模上链表长度,再从头遍历到指定的结点(错误)

  • 思路2

    • 水库抽样的思想:从N个数里面抽n个数,每个概率一样。首先把前个数放到数组中,然后遍历n+1个数时,生成随机数(1,n+1)之间,如果(1,n)之间和这个index的数交换,如果(n+1),则不换,类推
    • 本题目只返回一个数,则数组为1

      阅读全文 »

第385题---Mini Parse

发表于 2017-08-26   |     |   阅读次数
  • 题意描述:给定一个嵌套整数列表的字符串,返回的他的NestedInteger类的结构体,反序列化?

  • 思路:遍历字符串,判断是不是’[‘,如果是,则进入parseList函数,不是则进入parseNum函数;

    • parseList函数,判断是不是[,如果是,则进入parseList函数,递归了,如果是-或者数,进入parseNum函数,如果是,跳过,如果是]break,结束
    • parseNum函数,判断正负,从index 遍历,获得数值,返回构造的NestedInteger类对象
      阅读全文 »

第377题---Combination Sum IV

发表于 2017-08-26   |     |   阅读次数
  • 题意描述

    • 给定一个都是正整数,没有重复的数组,给定一个目标数,求数组中组合成目标数的方式有几种,数组中的数可以多次使用
  • 思路一

    • 类似于台阶的动态规划,res[0]代表,目标数为0的组合数;res[1]代表,目标数为1的组合数;依次类推,res[i]的组合数res[i] += res[i-num]
      阅读全文 »
12…7
jin hongliang

jin hongliang

随便写写,代码,生活,其他

33 日志
3 标签
GitHub Weibo Zhihu
© 2016 - 2017 jin hongliang
由 Hexo 强力驱动
主题 - NexT.Pisces