原创 二十分鐘搞定時間複雜度(數據結構)

我們假設計算機運行一行基礎代碼需要執行一次運算。 int aFunc(void) { printf("Hello, World!\n"); // 需要執行 1 次 return 0; // 需要執

原创 數據結構(三)棧

#pragma once #include <iostream> #include <stdio.h> #include <time.h> #include <vector> #include <algorithm> #include

原创 C++ map使用的注意事項

C++ map注意事項 1、在map中,由key查找value時,首先要判斷map中是否包含key。     如果不檢查,直接返回map[key],可能會出現不易發現的問題。如果map包含key,沒有問題,如果map不包含key,就會在m

原创 leetcode381--O(1)時間插入 刪除和查找-允許重複

目錄 正文 一 題目描述 二 解題思路 三 具體代碼     正文 一 題目描述 設計一個支持在平均 時間複雜度 O(1) 下, 執行以下操作的數據結構。 注意: 允許出現重複元素。 insert(val):向集合中插入元素 val。

原创 JetBrains軟件使用經驗(轉載)

原文鏈接:https://blog.csdn.net/I_love_you_dandan/article/details/99712401 版權聲明:本文爲博主原創文章,遵循 CC 4.0

原创 C++ 一次性添加全部頭文件

今天百度時無意中發現了頭文件<bits/stdc++.h>,它包含了全部的C++頭文件。這樣做題時直接敲上一句#include <bits/stdc++.h>而不是很多個#include。   下面是<bits/stdc++.h>的源代碼

原创 leetcode347--前k個高頻元素

給定一個非空的整數數組,返回其中出現頻率前 k 高的元素。 示例 1: 輸入: nums = [1,1,1,2,2,3], k = 2 輸出: [1,2] 示例 2: 輸入: nums = [1], k = 1 輸出: [1] 說明

原创 leetcode--454 四數相加 哈希表

給定四個包含整數的數組列表 A , B , C , D ,計算有多少個元組 (i, j, k, l) ,使得 A[i] + B[j] + C[k] + D[l] = 0。 爲了使問題簡單化,所有的 A, B, C, D 具有相同的長度 N

原创 leetcode--227 基本計算器II 數據棧 符號棧

實現一個基本的計算器來計算一個簡單的字符串表達式的值。 字符串表達式僅包含非負整數,+, - ,*,/ 四種運算符和空格  。 整數除法僅保留整數部分。 示例 1: 輸入: "3+2*2" 輸出: 7 示例 2: 輸入: " 3/2

原创 C++ STL各標準容器使用手冊

原文:http://blog.csdn.net/nohackcc/article/details/8900017 1 vector 內部實現: 數組 // 就是沒有固定大小的數組,vector直接翻譯是向量的意思 支持操作: begin(

原创 leetcode295--數據流中的中位數 優先隊列的實現

中位數是有序列表中間的數。如果列表長度是偶數,中位數則是中間兩個數的平均值。 例如, [2,3,4] 的中位數是 3 [2,3] 的中位數是 (2 + 3) / 2 = 2.5 設計一個支持以下兩種操作的數據結構: void addNum

原创 C++ STL deque

STL deque STL deque支持隨機訪問和快速插入刪除,是一種容器類函數。 中文名: 支持隨機訪問和快速插入刪除       英文名: STL deque 類    型 容器類函數     目錄 1 說明 2 構造 3 方法

原创 leetcode--21 合併兩個有序鏈表

將兩個有序鏈表合併爲一個新的有序鏈表並返回。新鏈表是通過拼接給定的兩個鏈表的所有節點組成的。  示例: 輸入:1->2->4, 1->3->4 輸出:1->1->2->3->4->4     //合併兩個有序鏈表 ListNode*

原创 leetcode-141 環形鏈表

給定一個鏈表,判斷鏈表中是否有環。 爲了表示給定鏈表中的環,我們使用整數 pos 來表示鏈表尾連接到鏈表中的位置(索引從 0 開始)。 如果 pos 是 -1,則在該鏈表中沒有環。   示例 1: 輸入:head = [3,2,0,-4

原创 leetcode147--鏈表的插入排序

對鏈表進行插入排序。 插入排序的動畫演示如上。從第一個元素開始,該鏈表可以被認爲已經部分排序(用黑色表示)。 每次迭代時,從輸入數據中移除一個元素(用紅色表示),並原地將其插入到已排好序的鏈表中。   插入排序算法: 插入排序是迭代的,