哈希表的介绍和使用

哈希表的介绍和使用

  今天,我们来介绍的是哈希表,哈希表主要用于对数据的出现次数统计,查重。利用的容器主要有vector、map/set、ordered_map/ordered_set等。

  下面我们来看几道例题:

class Solution {

public:

    vector<int> twoSum(vector<int>& nums, int target) {

        unordered_map<int,int> hash;

        for(int i=0;i<nums.size();i++){

            int x=target-nums[i];

            if(hash.count(x)) return {hash[x],i};

            hash[nums[i]]=i;

        }

        return {-1,-1};

    }

};

2.

class Solution {

public:

    bool CheckPermutation(string s1, string s2) {

        int n=s1.size(),m=s2.size();

        if(n!=m) return false;

        int hash[26]={0};

        for(int i=0;i<n;i++){

            hash[s1[i]-'a']++;

        }

        for(int i=0;i<n;i++){

            hash[s2[i]-'a']--;

            if(hash[s2[i]-'a']<0) return false;

        }

        return true;

    }

};

3.

class Solution {
public:
    bool containsDuplicate(vector<int>& nums) {
        sort(nums.begin(), nums.end());
        int n = nums.size();
        for (int i = 0; i < n - 1; i++) {
            if (nums[i] == nums[i + 1]) {
                return true;
            }
        }
        return false;
    }
};

4.

class Solution {

public:

    bool containsNearbyDuplicate(vector<int>& nums, int k) {

        unordered_map<int,int> hash;

        for(int i=0;i<nums.size();i++){

            if(hash.count(nums[i])){

                if(i-hash[nums[i]]<=k) return true;

            }

            hash[nums[i]]=i;

        }

        return false;

    }

};

5.

class Solution {

public:

    vector<vector<string>> groupAnagrams(vector<string>& strs) {

        unordered_map<string,vector<string>> hash;

        for(auto& e : strs){

            string ret=e;

            sort(ret.begin(),ret.end());

            hash[ret].push_back(e);

        }

        vector<vector<string>> a;

        for(auto& [x,y] : hash){

            a.push_back(y);

        }

        return a;

    }

};

  全部结束了,期待下次交流!!!

Read more

Qwen3-Reranker-0.6B部署案例:为Llama3+RAG应用添加高精度重排序层

Qwen3-Reranker-0.6B部署案例:为Llama3+RAG应用添加高精度重排序层 1. 项目概述 今天给大家分享一个非常实用的部署案例:如何在本地快速部署Qwen3-Reranker-0.6B语义重排序服务。这个轻量级模型专门为RAG(检索增强生成)场景设计,能够精准判断用户查询与文档之间的语义相关性。 想象一下这样的场景:你用Llama3搭建了一个智能问答系统,用户提问后,系统从海量文档中检索出10篇相关文档。但哪一篇才是最相关的呢?传统方法可能只是简单匹配关键词,而Qwen3-Reranker能够深入理解语义,帮你选出最匹配的那一篇,大幅提升回答质量。 2. 为什么需要重排序层 在RAG应用中,重排序就像是给检索结果做"精装修"。简单来说,它的工作流程是这样的: 1. 初步检索:先从大量文档中快速找出可能相关的候选集(比如前100篇) 2. 精细重排序:用重排序模型对这些候选文档进行精准打分和排序 3. 生成回答:把最相关的几篇文档交给大模型生成最终答案 没有重排序层,就像是在一堆相似的答案中随便选一个,质量很难保证。有了Qwen3-Rerank

By Ne0inhk
Flutter for OpenHarmony: Flutter 三方库 flutter_cors 应对鸿蒙 Web 与混合开发中的跨域挑战(网络兼容方案)

Flutter for OpenHarmony: Flutter 三方库 flutter_cors 应对鸿蒙 Web 与混合开发中的跨域挑战(网络兼容方案)

欢迎加入开源鸿蒙跨平台社区:https://openharmonycrossplatform.ZEEKLOG.net 前言 在进行 OpenHarmony 的跨平台开发时,我们不仅开发原生 HAP,有时也会涉及 Flutter Web 或是在鸿蒙端侧运行 Webview 混合应用。这时,一个经典的“拦路虎”就会出现:CORS (跨源资源共享) 限制。当你的 Web 端尝试访问一个未配置跨域头部的后端 API 时,请求会被浏览器拦截,报错信息极其晦涩。 虽然 CORS 主要是后端的工作,但 flutter_cors 提供了一种客户端视角的辅助工具。它通过工具化手段帮助开发者分析、绕过或生成跨域适配规则,是保证鸿蒙跨平台 Web 项目顺利运行的调试利器。 一、跨域访问逻辑模型 CORS 是一种浏览器的安全保护机制,它在请求发出前先进行“预检(Preflight)

By Ne0inhk

HTML前端如何调用大模型?OpenAI接口兼容模式来了

HTML前端如何调用大模型?OpenAI接口兼容模式来了 在当今的Web开发中,越来越多的应用开始集成大语言模型(LLM)能力——从智能客服到内容生成,从前端自动化助手到多模态交互界面。然而,一个现实问题是:前端本身无法直接运行大模型,而传统的API接入方式又往往依赖特定平台、协议不统一、集成复杂。 有没有一种方式,能让纯HTML页面像调用普通HTTP接口一样,轻松“对话”本地或私有部署的大模型? 答案是肯定的——通过 OpenAI接口兼容模式,任何支持fetch的浏览器环境都可以无缝对接开源大模型服务,无需SDK、无需后端代理封装,真正实现“开箱即用”的前端集成体验。 这种模式的核心思想其实很朴素:让非OpenAI的服务,说OpenAI的语言。 换句话说,即便你部署的是Qwen、Llama3或者ChatGLM这类开源模型,只要你的推理服务能接收 /v1/chat/completions 这样的请求路径,并返回与OpenAI格式一致的JSON结构,那么前端代码就可以完全复用现有的调用逻辑,甚至可以直接使用 openai-js 客户端库。 这背后的关键推动力之一,正是像 ms

By Ne0inhk