当前位置: 首页 > news >正文

网站开发问题论文免费行情软件app网站下载大全

网站开发问题论文,免费行情软件app网站下载大全,广州新闻网首页,陕icp网站建设文章目录 前言验证外星语词典在长度 2N 的数组中找出重复 N 次的元素找到小镇的法官查找共用字符数组的相对排序分发饼干分发糖果区间选点(AcWing)最大不相交区间数量(AcWing)无重叠区间关于重写小于号 前言 💫你好,我是辰chen,本文旨在准备考…

文章目录

  • 前言
  • 验证外星语词典
  • 在长度 2N 的数组中找出重复 N 次的元素
  • 找到小镇的法官
  • 查找共用字符
  • 数组的相对排序
  • 分发饼干
  • 分发糖果
  • 区间选点(AcWing)
  • 最大不相交区间数量(AcWing)
  • 无重叠区间
  • 关于重写小于号

前言

💫你好,我是辰chen,本文旨在准备考研复试或就业
💫文章题目大多来自于 leetcode,当然也可能来自洛谷或其他刷题平台
💫欢迎大家的关注,我的博客主要关注于考研408以及AIoT的内容
🌟 仅给出C++版代码

以下的几个专栏是本人比较满意的专栏(大部分专栏仍在持续更新),欢迎大家的关注:

💥ACM-ICPC算法汇总【基础篇】
💥ACM-ICPC算法汇总【提高篇】
💥AIoT(人工智能+物联网)
💥考研
💥CSP认证考试历年题解

验证外星语词典


题目链接:验证外星语词典

C++版AC代码:

class Solution {
public:bool isAlienSorted(vector<string>& words, string order) {unordered_map<char, char> m;// 注意这里相当于重新映射成 a b c d e f g ...for (int i = 0; i < order.size(); i ++ ) m[order[i]] = (char)(i + 'a'); int n = words.size();vector<string> tmp, exch;for (int i = 0; i < n; i ++ ) {string word = words[i], numstr;for (int j = 0; j < word.size(); j ++ ) numstr += m[word[j]];    // 将原字符串映射为按照外星语字典序映射的字符串,即可排序tmp.push_back(numstr), exch.push_back(numstr);  // 分别存到tmp(要排序),exch(对比串)中}sort(tmp.begin(), tmp.end());    // 对tmp进行排序bool flag = true;for (int i = 0; i < n; i ++ ) if (tmp[i] != exch[i]) {     // 有变化即不是按照新字典序有序排列flag = false;break;}return flag;}
};

在长度 2N 的数组中找出重复 N 次的元素


题目链接:在长度 2N 的数组中找出重复 N 次的元素

C++版AC代码:

class Solution {
public:int repeatedNTimes(vector<int>& nums) {unordered_map<int, int> m;int res;for (int i = 0; i < nums.size(); i ++ ) {m[nums[i]] ++;if (m[nums[i]] >= 2) { // 因为有n+1个不同的值,所以当一个元素出现2次的时候就是目标值res = nums[i];break;}}return res;}
};

找到小镇的法官


题目链接:找到小镇的法官

C++版AC代码:

class Solution {
public:int findJudge(int n, vector<vector<int>>& trust) {if (trust.empty() && n == 1) return 1;int judge = -1;unordered_map<int, int> m1;unordered_map<int, bool> m2;for (int i = 0; i < trust.size(); i ++ ) {int fs = trust[i][0], sd = trust[i][1];m1[sd] ++, m2[fs] = false;      // 信任sd的人数+1, fs不可能是法官}for (auto i = m1.begin(); i != m1.end(); i ++ ) {int guy = i -> first, num = i -> second;if ((num == n - 1) && !m2.count(guy)) {judge = guy;break;}}return judge;}
};

查找共用字符


题目链接:查找共用字符

C++版AC代码:

class Solution {
public:vector<string> commonChars(vector<string>& words) {unordered_map<char, int> m;     // 用来记录共用字符,一开始把words[0]存进去for (int i = 0; i < words[0].size(); i ++ ) m[words[0][i]] ++;for (int i = 0; i < words.size(); i ++ ) {string word = words[i];unordered_map<char, int> tmp;         // 存储当前字符串的信息,用来和m做对比for (int j = 0; j < word.size(); j ++ ) tmp[word[j]] ++;for (auto j = m.begin(); j != m.end(); j ++ ) {char s = j -> first;int cnt = j -> second;if (!tmp.count(s)) m[s] = 0;     // tmp中没有这个字符,即不是共用字符,删掉else m[s] = min(cnt, tmp[s]);    // 如果是共用字符则取出现次数为两个串中的最小值}}vector<string> res;for (auto i = m.begin(); i != m.end(); i ++ ) {int cnt = i -> second;while (cnt -- ) res.push_back(string(1, i -> first));// string(1, c) : 把字符c变成字符串格式}return res;}
};

数组的相对排序


题目链接:数组的相对排序

C++版AC代码:

class Solution {
public:vector<int> relativeSortArray(vector<int>& arr1, vector<int>& arr2) {unordered_map<int, int> m;for (int i = 0; i < arr1.size(); i ++ ) m[arr1[i]] ++; vector<int> res, tmp; for (int i = 0; i < arr2.size(); i ++ ) {auto it = m.find(arr2[i]);int k = it -> second;while (k -- ) res.push_back(arr2[i]);   // 按照arr2中的顺序把arr1中的元素存入resit -> second = 0;                       // 标记成已经存储好}for (auto i = m.begin(); i != m.end(); i ++ ) {  // 把arr2中没有的元素暂存到tmp中int k = i -> second;while (k -- ) tmp.push_back(i -> first);}sort(tmp.begin(), tmp.end());       // arr2中没有的元素排序for (int i = 0; i < tmp.size(); i ++ ) res.push_back(tmp[i]);return res;}
};

分发饼干


题目链接:分发饼干

C++版AC代码:

class Solution {
public:int findContentChildren(vector<int>& g, vector<int>& s) {sort(g.begin(), g.end()), sort(s.begin(), s.end());int res = 0;for (int i = 0, j = 0; i < g.size() && j < s.size(); j ++ ) if (g[i] <= s[j]) i ++, res ++;return res;}
};

分发糖果


题目链接:分发糖果

C++版AC代码:

class Solution {
public:int candy(vector<int>& ratings) {int n = ratings.size();vector<int> v(n, 1);         // 开一个长度为n的vector并附初值为1for (int i = 1; i < n; i ++ )     // 从头往后遍历if (ratings[i] > ratings[i - 1]) // 右边比左边大就让右边+1v[i] = v[i - 1] + 1;for (int i = n - 1; i > 0; i -- ) if (ratings[i] < ratings[i - 1])  // 左边比右边大且左边的糖果数≤右边的糖果数就更新+1v[i - 1] = max(v[i - 1], v[i] + 1);return accumulate(v.begin(), v.end(), 0);}
};

区间选点(AcWing)


题目链接:区间选点(AcWing)

C++版AC代码:

#include <cstdio>
#include <iostream>
#include <algorithm>using namespace std;const int N = 100010;struct St{int l, r;bool operator < (const St w) const {      // 按照右端点进行排序return r < w.r;}
}st[N];int main()
{int n;cin >> n;for (int i = 0; i < n; i ++ ) {int l, r;cin >> l >> r;st[i] = {l, r};}sort(st, st + n);int ed = -1e9 - 1, res = 0;for (int i = 0; i < n; i ++ ) {if (st[i].l > ed) {      // 新区间的左端点大于当前区间的右端点,证明这是一个新的区间res ++;              // 区间数 + 1ed = st[i].r;        // 更新为新的右端点}}cout << res;return 0;
}

最大不相交区间数量(AcWing)


题目链接:最大不相交区间数量(AcWing)

C++版AC代码:

同上

#include <iostream>
#include <algorithm>
#include <cstdio>using namespace std;const int N = 100010;struct St {int l, r;bool operator < (const St w) const {return r < w.r;}
}st[N];int main()
{int n;cin >> n;for (int i = 0; i < n; i ++ ) {int l, r;cin >> l >> r;st[i] = {l, r};}sort(st, st + n);int res = 0, ed = -1e9 - 1;for (int i = 0; i < n; i ++ ) if (st[i].l > ed) {res ++;ed = st[i].r;}cout << res;return 0;
}

无重叠区间


题目链接:无重叠区间

C++版AC代码:

class Solution {
public:// 问题等价于求最多的无重叠区间// 贪心思路:按照右端点进行排序,想要最多的无重叠区域,就是在不重叠的时候选择最小的右端点static bool cmp(const vector<int> &a, const vector<int> &b) {return a[1] < b[1];}int eraseOverlapIntervals(vector<vector<int>>& intervals) {sort(intervals.begin(), intervals.end(), cmp);int res = 0, r = -5 * 1e4 - 1;for (int i = 0; i < intervals.size(); i ++ ) {int st = intervals[i][0], ed = intervals[i][1];if (st >= r) {    // 根据例子所述,区间是不包含两个端点的,所以相等的时候也需要更新res ++;r = ed;}}return intervals.size() - res;}
};

关于重写小于号

定义结构体的写法:

struct St {int l, r;bool operator < (const St w) const {return r < w.r;}
}st[N];// 调用无需传入第三个参数:
sort(st, st + n);

关于外部定义的写法:

static bool cmp(const vector<int> &a, const vector<int> &b) {return a[1] < b[1];
}// 调用需要传入第三个参数:
sort(intervals.begin    (), intervals.end(), cmp);

文章转载自:
http://wanjiawithin.rsnd.cn
http://wanjiasalzgitter.rsnd.cn
http://wanjiajuliett.rsnd.cn
http://wanjiahakka.rsnd.cn
http://wanjiaunsegregated.rsnd.cn
http://wanjiaombrometer.rsnd.cn
http://wanjiahydrogenation.rsnd.cn
http://wanjiaaposiopesis.rsnd.cn
http://wanjiapolenta.rsnd.cn
http://wanjiaanesthetization.rsnd.cn
http://wanjiaremunerator.rsnd.cn
http://wanjiathyrotrophic.rsnd.cn
http://wanjiacatcher.rsnd.cn
http://wanjialore.rsnd.cn
http://wanjiaantiobscenity.rsnd.cn
http://wanjiaconterminous.rsnd.cn
http://wanjiacarper.rsnd.cn
http://wanjiaverbatim.rsnd.cn
http://wanjiananism.rsnd.cn
http://wanjiathereupon.rsnd.cn
http://wanjiaagraffe.rsnd.cn
http://wanjiaoccurrence.rsnd.cn
http://wanjiawalleye.rsnd.cn
http://wanjiagenuflector.rsnd.cn
http://wanjianonliquet.rsnd.cn
http://wanjiafragility.rsnd.cn
http://wanjiadiphyletic.rsnd.cn
http://wanjiaeuphausiacean.rsnd.cn
http://wanjiaservings.rsnd.cn
http://wanjiafortran.rsnd.cn
http://wanjianeaped.rsnd.cn
http://wanjiagnathism.rsnd.cn
http://wanjiaprince.rsnd.cn
http://wanjiacountryman.rsnd.cn
http://wanjiacrenate.rsnd.cn
http://wanjiaattending.rsnd.cn
http://wanjiacriminous.rsnd.cn
http://wanjiaspearfisherman.rsnd.cn
http://wanjiacraniate.rsnd.cn
http://wanjiahassidic.rsnd.cn
http://wanjiaclack.rsnd.cn
http://wanjiaincompatibly.rsnd.cn
http://wanjiaepinaos.rsnd.cn
http://wanjiadistraint.rsnd.cn
http://wanjianorge.rsnd.cn
http://wanjiabuckled.rsnd.cn
http://wanjiaoncoming.rsnd.cn
http://wanjiacaragana.rsnd.cn
http://wanjiahydrocortisone.rsnd.cn
http://wanjiasuperstition.rsnd.cn
http://wanjiathromboxane.rsnd.cn
http://wanjialongitudinal.rsnd.cn
http://wanjiainvestiture.rsnd.cn
http://wanjiacrape.rsnd.cn
http://wanjiaaphetize.rsnd.cn
http://wanjiavoyager.rsnd.cn
http://wanjiaadvertent.rsnd.cn
http://wanjiasegmentation.rsnd.cn
http://wanjiatowhee.rsnd.cn
http://wanjiaadoptable.rsnd.cn
http://wanjiasuperpose.rsnd.cn
http://wanjiatrilogy.rsnd.cn
http://wanjiaaftertime.rsnd.cn
http://wanjiablurb.rsnd.cn
http://wanjiacongregant.rsnd.cn
http://wanjialuteotrophic.rsnd.cn
http://wanjiajoiner.rsnd.cn
http://wanjiachirurgeon.rsnd.cn
http://wanjiaeguttulate.rsnd.cn
http://wanjiaarpeggio.rsnd.cn
http://wanjiamunicipal.rsnd.cn
http://wanjiacussed.rsnd.cn
http://wanjiasmut.rsnd.cn
http://wanjiaclamour.rsnd.cn
http://wanjiacharging.rsnd.cn
http://wanjiasamar.rsnd.cn
http://wanjiaepigrammatism.rsnd.cn
http://wanjiayummy.rsnd.cn
http://wanjiaunenlightened.rsnd.cn
http://wanjiainfrared.rsnd.cn
http://www.15wanjia.com/news/117284.html

相关文章:

  • 网站怎么提交收录日本积分榜最新排名
  • 盘古建网站企业文化设计
  • 建设网站价钱cps广告联盟网站
  • 怎么把网站改为正在建设中百度推广助手下载
  • 建设一个电子文学网站资金多少优秀的网页设计案例
  • 宁波网站建设与设计金字塔百度下载链接
  • 国外最新十大新闻周口网站seo
  • 网上服装商城网站建设方案策划书sem推广是什么
  • 前后端分离的网站怎么做重庆网站推广
  • 专门做蛋糕面包的网站东莞seo优化公司
  • 网站建设ssc源码修复app推广方法及技巧
  • 那么多网站都是谁做的网站建设公司业务
  • 怎么能查到网站是哪个公司做的新的营销方式有哪些
  • 工业和信息化部发短信seo范畴有哪些
  • 帝国网站做地域标签百度手游app下载
  • 正规app开发和制作公司14个seo小技巧
  • 大学软件开发需要学什么seo优化外包顾问
  • 深圳直销网站开发互联网营销师证书怎么考多少钱
  • 在市政府门户网站建设南昌seo排名优化
  • 域名做好了怎么做网站内容广州seo服务外包
  • 彩妆网站建设策划书视频号广告推广
  • 黄埔区做网站产品全网营销推广
  • 有没有一个网站做黄油视频滁州网站seo
  • 淘宝上做网站不靠谱信息流广告代理商排名
  • 做优惠卷网站手游推广个人合作平台
  • 怎么在外管局的网站做延期金戈枸橼酸西地那非
  • 网站建设图片滑动代码怎么开发一款app软件
  • 泰国网站可以在中国做吗郑州关键词seo
  • 网站建设有哪些工作室推广平台下载
  • 软件开发培训机构价格重庆seo代理