数据结构和算法
文章平均质量分 72
lingqing97
这个作者很懒,什么都没留下…
展开
-
leetcode刷题之树状数组
lowbit运算lowbit(x)=x&(-x),这个式子代表取x的二进制最右边的1和它右边所有0,lowbit(x)也可以理解为能整除x的最大2的幂次。#define lowbit(x) ((x)&(-x))树状数组问题引出给出一个整数序列A,元素个数为N(N<=105N<=10^5N<=105),接下来查询K次(K<=105K<=10^5K<=105),在查询的过程中可能随时给第x个数加上一个整数v,每次查询将给出一个正整数x(x<原创 2021-01-22 15:25:40 · 706 阅读 · 1 评论 -
leetcode刷题之滑动窗口
滑动窗口参考:LeetCode 滑动窗口(Sliding Window)类问题总结滑动窗口算法框架//滑动窗口基本框架//不要记框架,重点是理解滑动窗口的思想int slidingWindowTemplate(String a, ...) { // 输入参数有效性判断 if (...) { ... } // 申请一个散列,用于记录窗口中具体元素的个数情况 unordered_map<...,...> hash;原创 2021-01-21 21:33:38 · 232 阅读 · 0 评论 -
leetcode刷题之快慢指针
参考;算法思维系列/双指针技巧快慢指针的常见用法判断链表中是否含有环题目描述参考代码/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {public: bool hasCycle(ListNo原创 2021-01-21 21:28:26 · 209 阅读 · 0 评论 -
leetcode刷题之二分查找
第一个错误的版本参考代码//使用查到第一个满足某条件的模板// Forward declaration of isBadVersion API.bool isBadVersion(int version);class Solution {public: int firstBadVersion(int n) { int left=1,right=n; ...原创 2019-10-29 18:05:27 · 419 阅读 · 0 评论 -
算法之二分查找
二分法模板//二分查找模板int binarySearch(int A[],int left,int right,int target){ int mid; while(left<=right){ mid=left+(right-left)/2; if(A[mid]==target) return mid; else i...原创 2019-10-19 14:35:24 · 164 阅读 · 0 评论 -
leetcode刷题之链表
合并两个有序链表参考代码普通解法/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} * }; */class Solution {publ...原创 2019-10-17 21:52:06 · 388 阅读 · 0 评论 -
数据结构之链表
链表内存结构使用malloc,new分配内存空间内malloc函数typename* p=(typename) malloc(sizeof(typename));malloc函数会向内存空间申请一块指定大小的空间,并返回void*类型的一个指针,所以要进行强制的类型转换当申请失败时,会返回NULLnew函数typename* p=new typename;当申请失...原创 2019-10-12 15:46:14 · 165 阅读 · 0 评论