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

wordpress设置网站导航网站静态化

wordpress设置网站导航,网站静态化,重庆项目经理在建项目查询,学校网站建设源码最接近的三数之和 给定整数数组和目标值target,从数组中选出三个整数,使得和与target最接近,并返回三数之和。保证恰好存在一个解。 和上一题类似,我们先对整数数组排序,然后固定i,枚举j,找到满…

最接近的三数之和

给定整数数组和目标值target,从数组中选出三个整数,使得和与target最接近,并返回三数之和。保证恰好存在一个解。

和上一题类似,我们先对整数数组排序,然后固定i,枚举j,找到满足nums[i]+nums[j]+nums[k]>=target的最小的k

那么显然有nums[i]+nums[j]+nums[k-1]<target,只需要判断两者谁离target最接近即可。

int threeSumClosest(vector<int>& nums, int target) {sort(nums.begin(), nums.end());int delta = INT_MAX, sum = 0;for(int i = 0; i < nums.size() - 2; i ++) {if(i && nums[i] == nums[i - 1]) continue;for(int j = i + 1, k = nums.size() - 1; j < k; j ++) {if(j > i + 1 && nums[j] == nums[j - 1]) continue;while(k - 1 > j && nums[i] + nums[j] + nums[k - 1] >= target)   k --;// 找到固定i和j时满足三数之和大于等于目标值的k,可以保证i,j,k-1三数之和小于目标值int p = nums[i] + nums[j] + nums[k], q = nums[i] + nums[j] + nums[k - 1];if(abs(p - target) < delta) delta = abs(p - target), sum = p;// k-1不能和k相等if(k != j + 1 && abs(q - target) < delta) delta = abs(q - target), sum = q;}}return sum;
}

电话号码的字母组合

数字和字母的映射同电话按键,给定包含数字2-9的字符串,返回能表示的字母组合。

这是一道非常经典的DFS题。每一层只需要枚举这一位填哪个字母,然后到头输出再返回即可。

vector<string> to = {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};
vector<string> ans;void dfs(string &digits, int u, string path) {if(path.size() == digits.size()) {      // 若字母串和数字串相同长度则得到答案ans.push_back(path);return ;}for(auto c : to[digits[u] - '0']) {     // 数字为digits[u] - '0'path += c;dfs(digits, u + 1, path);           // 迭代判断第u+1个数字path.pop_back();                    // 恢复现场}
}vector<string> letterCombinations(string digits) {if(!digits.size())  return ans;     // 若空直接返回dfs(digits, 0, "");return ans;
}

四数之和

给定整数数组和目标值,返回四数之和等于目标值且不重复的所有四元组。

数组长度为 [ 1 , 200 ] [1,200] [1,200],数的大小为 [ − 1 0 9 , 1 0 9 ] [-10^9, 10^9] [109,109]

和三数之和一样,只是多了一重循环而已。

但是这里要注意,可能会爆int,判断的时候要开long long

vector<vector<int>> fourSum(vector<int>& nums, int target) {vector<vector<int>> ans;sort(nums.begin(), nums.end());for(int i = 0; i < nums.size(); i ++) {if(i && nums[i] == nums[i - 1]) continue;for(int j = i + 1; j < nums.size(); j ++) {if(j > i + 1 && nums[j] == nums[j - 1]) continue;for(int k = j + 1, l = nums.size() - 1; k < l; k ++) {  // 固定i,j,kif(k > j + 1 && nums[k] == nums[k - 1]) continue;// 强转为long long来判断while(l-1 > k && 0ll + nums[i] + nums[j] + nums[k] + nums[l - 1] >= 1ll * target)  l--;if(0ll + nums[i] + nums[j] + nums[k] + nums[l] == target * 1ll)ans.push_back({nums[i], nums[j], nums[k], nums[l]});}}}return ans;
}

删除链表的倒数第N个结点

删除链表的倒数第 n 个结点,并且返回链表的头结点。

先扫描一边链表得到链表长度,然后再正着删除这个节点即可。可以使用虚拟头节点来取消对头节点的特判。

删除第k个节点的方法就是将第k-1个节点的next指针指向第k+1个节点。

ListNode* removeNthFromEnd(ListNode* head, int n) {ListNode* damn = new ListNode(-1, head);    // 虚拟头节点int len = 0;for(auto p = head; p; p = p->next)  len ++; // 原链表的长度// 1 2 3 4 5// len=5,倒数第2个是从实际头节点开始的正数第4个(len-n+1)// 倒数第n个节点就是从虚拟头节点开始正数第len - n + 2个节点// 那么从虚拟头节点要往后走len-n次才能到实际要删的节点的前面一个节点auto p = damn;for(int i = 1; i <= len - n; i ++)  p = p->next;// 要删第k个节点,就将第k-1个节点的next指针指向第k+1个节点p->next = p->next->next;return damn->next;
}

有效的括号

给定只包含()[]{}的字符串,判断是否有效。

有效的标准是左右括号必须相邻且匹配。

一道经典的栈题。遇到左括号则入栈,遇到右括号则判断栈顶的左括号和当前右括号是否匹配。

最后判断栈是否为空,若栈不为空则不匹配。

左括号(的ASCII为40, 右括号)的ASCII码为41。

左括号[的ASCII为91, 右括号]的ASCII码为93。

左括号{的ASCII为123, 右括号}的ASCII码为125。

所以只要左括号和右括号的ASCII码的差的绝对值小于等于2,则可以判断匹配。

bool isValid(string s) {stack<char> st;for(auto c : s) {if(c == '(' || c == '[' || c == '{')    st.push(c);else {// 一定要加abs来判断距离,否则会导致91-123=-32的情况出现if(st.size() && abs(c - st.top()) <= 2)  st.pop();else    return false;}}return st.empty();
}
http://www.yayakq.cn/news/392915/

相关文章:

  • 宠物网站模版自己的网站做防伪码
  • 百度建站平台官网能发布自做的视频网站
  • 如何用手机做钓鱼网站腾讯街景地图实景下载
  • 千图主站与普通网站的区别wordpress 阅读统计
  • 静态企业网站下载怎么将自己房子投入网站做民宿
  • 建设一个班级网站的具体步骤网络传媒公司怎么运营
  • 整站外包优化公司网站ui设计模板
  • 网站地址栏企业展厅设计公司信息
  • 网络营销主要是什么好优化网站设计
  • 婚纱摄影类网站做月季评分表的工程网站叫什么
  • 一级a做爰片免费网站短视频播放深圳装修招标信息网
  • 常德网站优化公司微信网站开发源代码
  • 吉林建设监理协会网站2021百度模拟点击工具
  • 怎样自己建一个网站网站设计的指导思想
  • 中国建设银行安徽分行网站网站空间每年继费到哪交
  • 域名 不做网站设计素材网站 ps
  • 重庆网站建设网络推广广西房管局官网
  • 四川网站建设电话咨询小型网站的建设方案
  • 国内外电子政务网站建设差距Editplus做网站
  • 东莞常平嘉盛学校优化大师平台
  • 网站权重不稳定wordpress ie8不兼容
  • 网站设做的新网站做百度推广怎么弄
  • 网站开发干嘛网络网站推广优化
  • 如何做网站发产品销售wordpress注册邮箱后缀
  • 企业网站多少钱一个巴塘网站建设
  • 做花瓶的网站在线seo诊断
  • 类似优酷的网站开发app技术策划怎么写
  • 阿里云的网站南昌市建设监督网站站长
  • 信息化网站建设引言简洁大方的网站
  • 华龙建设部网站查不到工程公司账务处理分录