编程收获
文章平均质量分 81
kwenZh
朝闻道夕死可矣
展开
-
记一次Gin框架使用url参数值获取+号出现空格的排查
在这里插入代码片@TOC记一次Gin框架使用url参数值获取+号出现空格的排查问题描述:前几天使用gin框架遇到一个问题,接口请求之后,后台拿到的数据中出现取url参数,url参数值如果有携带+,后台拿到的是一个空格。经排查客户端请求时如果对url参数没有进行编码直接传递+号过来,go语言的net包会将其替换成空格。+号只有转换成url编码, %2b时,gin框架才能正确的解析出+号。源...原创 2020-03-14 16:01:55 · 2776 阅读 · 0 评论 -
对标准库stdlib.h中二分查找的理解
前几天面试的时候遇到了这个问题 ,标准库下提供的二分查找改错,当时没有改出来,写得不好,回来查了下,这个函数的原型是:/* bsearch() and qsort() are declared both here, in <stdlib.h>, and in * non-ANSI header <search.h>; we reproduce these decla...原创 2018-09-20 15:27:36 · 403 阅读 · 0 评论 -
锋利的指针
谈及指针,想到的应是C语言,C语言的灵魂就在于指针,也是C语言最难的知识之一,要想很好的掌握指针,一定要从内存字节的角度去思考问题.指针其实就是代表了一个内存地址,当然是虚拟内存。我在初学c语言到指针这一部分的时候,根本不知道这是一个什么东西,不明白int *p = &x是什么意思。知道后来通过数据结构的练习和对操作系统以及内存的理解,对指针有了一个认识,不禁感叹指针真是太强...原创 2018-08-10 14:01:12 · 317 阅读 · 0 评论 -
结构体内存对齐模式
结构体的字节大小,一个简单的结构体定义如下,这个结构的大小应是8字节(32位下)typedef struct MODEL4 { char c; int x;}MODEL4;char的大小是1,而int是4,但总的大小是8,这就是结构体内存对齐的原因。在32位的机器上,数据是以4字节对齐的,因为这样子,cpu访问起来会很方便。这个结构体的内存里面的图像大概是这样的:图中紫色部分的内存确实没有用...原创 2018-07-01 21:08:10 · 256 阅读 · 0 评论 -
对堆区、栈区、全局静态区的理解
内存分为原创 2018-07-01 20:01:38 · 2713 阅读 · 0 评论 -
数据结构与算法-递归(回溯法)
递归:程序调用自身的编程技巧。具体点说一个函数自己调用自己就是递归。编程中如果要用到递归去解决一个问题,首先要考虑的是递归的停止条件是什么?如果忽略掉这一点,你的程序就会一直递归递归,直到栈溢出,弹出来一个框框。递归何时停止,这是我们在写一个函数之前首要考虑的地方。可以把递归看成一个栈,每一次的递归就好像是压栈,弹出栈的时候就好像是遇到了递归的停止条件,返回条件。返回了上一级的调用函数。二...原创 2018-06-26 13:08:38 · 753 阅读 · 3 评论 -
剑指offer中不错的题总结(代码已整合放至Git)
最近接着刷题,剑指offer里面这些道题还不错,整理下来。2018/08/02更新: 66道题的代码终于整合好了! ! ! ! ! 已放至git: 代码链接用两个栈实现一个队列栈和队列的区别是先进后出(LIFO)和先进先出(FIFO)的区别。用两个栈实现一个队列思想是,出栈的时候,把栈里面所有元素倒入另一个栈里面,相当于对这个栈 的所有元素出栈一次,然后倒入的栈出栈就是队列一样。...原创 2018-06-10 18:45:09 · 556 阅读 · 0 评论 -
算法笔记-对于ArrayList的理解 动态数组
ArrayList的本质还是数组,是Java一种可变长数组的数据结构,概括的说底层实现机制,是扩容和拷贝元素。ArrayList实现了List等好多个接口 ,主要看一下List接口。public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Clon...原创 2018-06-08 10:28:06 · 519 阅读 · 0 评论 -
strcpy,memcpy和memset的用法
1、strcpy的用法,把一个字符串的内容拷贝给另一个字符串。函数的原型如下_CRTIMP char * __cdecl strcpy(char *dest, const char *src);把src字符串的内容赋值给dest,当然dest要有足够的空间能放得下src拷贝过来的字符串,拷贝的过程中src遇到'\0'字符串就停止了。#include<stdio.h>#include...原创 2018-05-23 21:30:18 · 422 阅读 · 0 评论 -
1.数据类型、数据库、表的基本操作-mysql
mysql数据库的常用用法总结原创 2018-05-30 23:25:40 · 224 阅读 · 0 评论 -
字符串模式匹配BF、KMP和Boyer-Moore,Sunday算法
这几天总结了一下总结了一下字符串匹配的几种算法,BF、KMP和Boyer-Moore,Sunday算法,觉得就KMP算法难于理解,其余三种都非常容易理解掌握。 串匹配:给一个目标串(源串)和模式串(子串),在目标串中找出模式串第一次出现的位置,或者目标串中找不到这样一个模式串。暴力匹配法(BF):就是挨个比较,产生失配了就把模式串往后移动一个位置接着和目标串比较。直到模式串所有字符匹...原创 2018-05-06 15:05:55 · 670 阅读 · 0 评论 -
2018春笔试题总结
百度笔试的编程题有三道,岗位是移动软件开发工程师,都不是复杂的算法题,三道题AC了两道,考察递归多一点。第一道题是排列组合的题:有n个国家的参赛队伍,每只队伍有5个选手,现在吧这些所有的选手排成一队,要求是每位选手的旁边是自己国家的人,问有多少种不同的排列方法,随着n变大,这个结果会很大,实际结果可以对一个数据取余输出,我忘了是多少了。比如只有一个国家那就有5*4*3*2*1=120种不同的方法。...原创 2018-05-04 20:21:04 · 221 阅读 · 0 评论 -
数据结构与算法-二维数组与指针、任意行列的二维数组
数组是最常用到的存储结构,数组是在内存上一段连续的存储空间,数组名的本质就是数组的首地址,所以在函数传参时函数形参可以是一个指针,实参传递时直接传递数组名即可。像这样。void showArray_1D(int *array, int array_length);int a[] = {5,2,3,58};showArray_1D(a, sizeof(a) / sizeof...原创 2018-05-02 17:15:31 · 629 阅读 · 0 评论