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

重庆网站建设论坛品牌网站建设定制

重庆网站建设论坛,品牌网站建设定制,企业网站需要的模块,适合口碑营销的产品目录 1、井字棋 2、密码强度等级 3、二维数组中的查找 4.调整数组奇数偶数 5.旋转数组中的最小元素 6、替换空格 1、井字棋 解析#xff1a;井字棋有四种情况表示当前玩家获胜#xff0c;行全为1#xff0c; 列全为1#xff0c;主对角全为1#xff0c; 副对角全为1。遍历… 目录 1、井字棋 2、密码强度等级 3、二维数组中的查找 4.调整数组奇数偶数 5.旋转数组中的最小元素 6、替换空格 1、井字棋 解析井字棋有四种情况表示当前玩家获胜行全为1 列全为1主对角全为1  副对角全为1。遍历board的每一行每一列每一条对角线检查是否有连成一排的的棋子如果有返回True。如果遍历完没有找到连成一排的棋子返回False。 代码如下 class Board {public:bool checkWon(vectorvectorint board) {int sum 0;int row board.size();for (int i 0; i row; i) {//先看每一行sum 0;for (int j 0; j row; j) {sum board[i][j];if (sum row) {return true;}}}for (int j 0; j row; j) {//再看每一列sum 0;for (int i 0; i row; i) {sum board[j][i];if (sum row) {return true;}}}//检查主对角线的和是是否等于rowsum 0;for (int i 0; i row; i) {sum board[i][i];}if (sum row)return true;//检查副对角线的和是是否等于rowsum 0;for (int i 0; i row; i) {sum board[i][row - i - 1];}if (sum row)return true;return false;}// write code here };2、密码强度等级 解析这一道题思路很简单由于不同种类的字符得分不同同可以对每一个维度进行单独判断即对于长度字母数字符号单独判断最后把所有的单项值根据题目要求相加输出对应的安全级别。 代码如下 #include iostream #include string using namespace std; int score_count(string str) {int digit 0, symbol 0;int lower 0, upper 0, charc 0;int size 0, sum 0;for (auto ch : str) {if (ch a ch z) {lower;charc;} else if (ch A ch Z) {upper;charc;} else if (ch 0 ch 9) {digit;} else if ((ch 0x21 ch 0x2F) ||(ch 0x3A ch 0x40) ||(ch 0x5B ch 0x60) ||(ch 0x7B ch 0x7E)) {symbol;}}size str.size();if (size 4)sum 5;else if (size 7)sum 10;elsesum 25;if (lower 0 upper 0)sum 20;else if (lower charc || upper charc)sum 10;if (digit 1)sum 10;else if (digit 1)sum 20;if (symbol 1)sum 10;else if (symbol 1)sum 25;if (lower 0 upper 0 digit 0 symbol 0)sum 5;else if ((lower 0 || upper 0) digit 0 symbol 0)sum 3;else if ((lower 0 || upper 0) digit 0 symbol 0)sum 2;return sum; } int main() {string str;while (cin str) {int score score_count(str);if (score 90) {cout VERY_SECURE endl;} else if (score 80) {cout SECURE endl;} else if (score 70) {cout VERY_STRONG endl;} else if (score 60) {cout STRONG endl;} else if (score 50) {cout AVERAGE endl;} else if (score 25) {cout WEAK endl;} else {cout VERY_WEAK endl;}}return 0; } 3、二维数组中的查找 解析这是一个经典的算法问题一种常见的方法是从二维数组的右上角或左下角开始根据目标整数和当前元素的大小关系逐步缩小查找范围直到找到目标整数或者超出数组边界。这种方法的时间复杂度是O(mn)其中m和n分别是二维数组的行数和列数。 代码如下 class Solution {public:bool Find(int target, vectorvectorint array) {int row array.size();int col array[0].size();int i 0;int j col - 1;while (i row j -1) {if (array[i][j] target) {return true;} else if (array[i][j] target) {j--;} else if (array[i][j] target){i;}}return false;}}; 4.调整数组奇数偶数 解析这是一个数组的奇偶数分割问题可以用双指针的方法来实现。双指针的方法是用两个变量分别指向数组的头部和尾部然后同时向中间移动每次移动时判断当前指向的元素是奇数还是偶数如果是奇数就保持不变如果是偶数就和另一个指针指向的元素交换位置直到两个指针相遇或者交错为止。 代码如下 class Solution { public:vectorint reOrderArrayTwo(vectorint array) {int left0;int rightarray.size()-1;int term0;while(leftright){while(array[left]%21){left;}while(array[right]%20){right--;}if(leftright){termarray[left];array[left]array[right];array[right]term;}}return array;} }; 5.旋转数组中的最小元素 解析旋转数组中的最小元素是一个常见的算法问题可以用二分法来解决。二分法的思路是用两个指针分别指向数组的首尾然后根据中间元素和右指针指向的元素的大小关系缩小查找范围直到找到最小元素或者两个指针相遇。 代码如下 #include iostream #includevector using namespace std;int main() {vectorint arr;int n;while(cinn){arr.push_back(n);}int left0;int rightarr.size()-1;while(leftright){int midleft(right-left)/2;if(arr[mid]arr[right]){leftmid1;}else if(arr[mid]arr[right]){rightmid;}else rightright-1;}coutarr[left]endl;return 0;}6、替换空格 解析 首先我们需要遍历字符串s找出其中有多少个空格这样我们就可以计算出替换后的字符串长度。然后我们需要从后往前修改字符串s使用两个指针i和j分别指向原字符串和新字符串的末尾。接下来我们需要判断s[i]是否是空格如果不是就直接复制到s[j]然后i和j都向前移动一位如果是就在s[j]处依次填入’0’‘2’和’%然后i向前移动一位j向前移动三位。最后我们需要重复上述步骤直到i和j相等为止这样就完成了空格的替换。 代码如下 class Solution {public:/*** 代码中的类名、方法名、参数名已经指定请勿修改直接返回方法规定的值即可*** param s string字符串* return string字符串*/string replaceSpace(string s) {int count 0;for (char c : s) {if (c ) count;}// 如果没有空格直接返回if (count 0) return s;// 计算替换后的字符串长度int len s.length();int newLen len count * 2;// 从后往前修改字符串s使用两个指针i和jint i len - 1;int j newLen - 1;// 扩充字符串s的容量s.resize(newLen);// 当i和j不相等时循环执行while (i ! j) {// 如果s[i]不是空格就复制到s[j]然后i和j都向前移动一位if (s[i] ! ) {s[j] s[i];i--;j--;} else {// 如果s[i]是空格就在s[j]处依次填入02和%然后i向前移动一位j向前移动三位s[j] 0;s[j - 1] 2;s[j - 2] %;i--;j - 3;}}return s;} };
http://www.hkea.cn/news/14429921/

相关文章:

  • 万网虚拟主机建网站企业建站程序推荐
  • 淘宝网站推广策划方案怎么做福利视频网站
  • 网站分站原理个人形象设计网站
  • 网站后期维护费用北京网页制作
  • 一个网站要怎么做免费的企业名录搜索
  • 密云城市建设官方网站商务网站运营与管理
  • h5微信网站建设上海中国国际进口博览会
  • 广告关键词有哪些关键词优化公司
  • 建网站pc版实搜网站建设
  • 网站支付怎么做的惠州网站建设公司曾
  • 网站模板后台北京cms建站模板
  • 唐山设计网站公司wordpress创建页面错误
  • 淮南集团网站建设wordpress扫码提交数据库
  • 微网站价格表2021年天津教师招聘信息
  • 给网站首页图片做外网超链接_为什么会弹出一个服务器登录窗口山西省建设厅招标网站首页
  • 电子商务网站建设试题网站建设整改情况
  • 企业网网站山东建设执业资格注册中心网站
  • 戴尔官方网站建设启示如何给网站做2维码
  • 宁波建设系统网站p2p网贷网站建设方案
  • 天一建设网站高端网站建设免费分析
  • 怎样做网站-百度西安公关公司
  • 大佬做的魔法少女网站地产行业网站建设图片
  • 在哪个网站做一照一码长沙公司网络推广
  • 用什么做网站原型图wordpress怎么调用多语言包
  • 怎样从用户体现提高网站的搜索引擎信任度永康网站建设
  • 可以做免费推广的网站吗做ppt会去什么网站找图
  • 山西建站便宜别墅效果图制作
  • iis建设个人网站ps网页设计教程及素材
  • 网站建设与制作教案营销策略有哪些有效手段
  • 中国建设银行官网站安装k宝洛阳市霞光游乐设备有限公司