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

有没有专门做ppt的网站网站建设零基础好学吗

有没有专门做ppt的网站,网站建设零基础好学吗,下载软件app排行榜,全国网站建设公司有多少家Leetcode Leetcode -405.数字转换为十六进制数Leetcode - 409.最长回文串 Leetcode -405.数字转换为十六进制数 题目:给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。 注意 : 十六进制中所有…

Leetcode

  • Leetcode -405.数字转换为十六进制数
  • Leetcode - 409.最长回文串

Leetcode -405.数字转换为十六进制数

题目:给定一个整数,编写一个算法将这个数转换为十六进制数。对于负整数,我们通常使用 补码运算 方法。

注意 :
十六进制中所有字母(a - f)都必须是小写。
十六进制字符串中不能包含多余的前导零。如果要转化的数为0,那么以单个字符’0’来表示;对于其他情况,十六进制字符串中的第一个字符将不会是0字符。 给定的数确保在32位有符号整数范围内。
不能使用任何由库提供的将数字直接转换或格式化为十六进制的方法。

示例 1:
输入 :
26
输出 :
“1a”

示例 2:
输入 :
-1
输出 :
“ffffffff”

我们的思路是将这个数num的二进制转换成十六进制,num的二进制中,每四位就会转换为十六进制的一位数,所以每次我们用num按位与上0xf,即是15,因为15的二进制形式为 1111 ,按位与上0xf就能得到num二进制的后四位,然后将按位与得到的数进行判断处理,放入数组中;最后将num向右移四位,进行下一次循环;

以26为例:

在这里插入图片描述

向右移四位后按位与如下图,所以最终结果为 " 1a ";
在这里插入图片描述

		char* toHex(int num){//开辟9个char空间,因为整型的十六进制最长的长度为8,加上'\0'就9个char* nums = (char*)malloc(sizeof(char) * 9);//对于负数,将它强转成无符号数处理unsigned newnum = (unsigned int)num;int i = 0;//如果数组中只有一个0,就在0后面加上'\0',返回数组if (num == 0){nums[0] = '0';nums[1] = '\0';return nums;}//当这个数转成无符号数之后不为0,进入循环while (newnum > 0){//0xf即为15,15的二进制为 1111 //即将这个数按位与上 1111 ,得到这个数的二进制的后四位,存放到flag中//因为二进制表示的数,每四位二进制就表示一为十六进制的数int flag = newnum & 0xf;//如果小于10,就将它转成字符放到数组中,然后i++if (flag < 10){nums[i++] = flag + '0';}//如果大于等于10,先减去10,再加上字符a,使它转换成十六进制的字符else{nums[i++] = flag - 10 + 'a';}//然后将这个数向右移四位,判断下一个十六进制的位数newnum >>= 4;}//循环结束后在i处加上'\0'nums[i] = '\0';//最后将数组逆置,因为放进去的时候是这个数二进制的尾部开始放,所以读的时候要倒过来读int left = 0, right = i - 1;while (left < right){char tmp = nums[left];nums[left++] = nums[right];nums[right--] = tmp;}return nums;}

Leetcode - 409.最长回文串

题目:给定一个包含大写字母和小写字母的字符串 s ,返回 通过这些字母构造成的 最长的回文串 。

在构造过程中,请注意 区分大小写 。比如 “Aa” 不能当做一个回文字符串。

示例 1:
输入:s = “abccccdd”
输出 : 7
解释 :
我们可以构造的最长的回文串是"dccaccd", 它的长度是 7。

示例 2 :
输入 : s = “a”
输出 : 1

示例 3:
输入 : s = “aaaaaccc”
输出 : 7

我们的思路是,用一个hash数组记录字符串中字符出现的次数,count记录回文串的长度,只要某个字符出现了两次,就证明可以构成回文串,就将2加到count中,然后再将这个字符的位置置0;对于奇数个的字符,对于上述的处理之后,现在hash数组中的位置对应的数值只能是0或者1,0的话不管,1的话只保留一个,因为在回文串中是对称的,只能有一个奇数的字符;具体的代码和注释如下:

		int longestPalindrome(char* s){//创建一个hash数组,长度为58,因为字符串中含有大小写字母的字符,从'A'到'z'一共就58个字符int hash[58] = { 0 };//count统计最长的回文串int count = 0;//遍历字符串,以字符作为hash数组的下标记录这个字符出现的次数,每次出现就++//当这个位置出现了两次,证明可以构成回文串,就使count加2,并将这个位置置0for (int i = 0; i < strlen(s); i++){hash[s[i] - 'A']++;if (hash[s[i] - 'A'] > 1){count += 2;hash[s[i] - 'A'] = 0;}}//遍历以'A'到'z'作为hash数组的下标,现在它们的位置的数值只能是0或者1//奇数个的字符在回文串中只能出现一个,所以其他奇数个的字符都不算入count中,用count += hash[i] - 1处理,本来hash[i]是1,减去1后就是0int flag = 0;for (int i = 0; i < 58; i++){if (hash[i] % 2){flag = 1;count += hash[i] - 1;}}//最后留下来的奇数个的字符算入count中if (flag)count++;//最后返回回文串长度return count;}
http://www.yayakq.cn/news/869484/

相关文章:

  • 做木材加工的企业网站首页扶贫网站建设的意义
  • 图片网站cms网页制作html完整代码
  • 网站短片怎么做广州服装设计公司有哪些
  • 高端h5网站开发做pc网站排名
  • 网站的按钮怎么做的韩国做网站网站违法不
  • 太原模板建站怎么建公司网站教程
  • 做网站背景图片浪漫爱情微网站制作公司
  • 做网站和做网店哪个好浅谈一下网络营销的几个误区
  • 网站管理后台下载网页游戏排行榜开服时间
  • 福州专业网站制作网页制作基础教程内容
  • wordpress 找不到主题做网站seo优化总结
  • 手机百度网站建设seo文章推广
  • 网页网站设计公司广州网络科技有限公司
  • 制作一个网站大概要多少钱重庆网站建设公司价钱
  • 佛山自己网站建设dw-focus wordpress主题
  • 专做女鞋的网站wordpress有游客注册帐号功能
  • 二级学院网站建设自评报告深圳最新消息
  • 网站开发亿玛酷信赖wordpress进后台
  • 内蒙古呼和浩特网站建设wordpress首页轮换图片在哪里设置
  • 网站标题怎么修改电子商务网站建设技术
  • 广东网站建设需要多少钱wordpress just
  • 昆明网站建设时间类似wordpress的建站系统
  • 济南网站建设行知科技不错a乌兰察布盟建设银行网站
  • 哪家网站设计公司好wordpress更新主机名
  • dede后台做两个网站Wordpress 充值 卡密
  • 阿里云带宽5m能做什么网站深圳网站开发技术
  • 公司网站怎么备案找人做菠菜网站需要多少钱
  • 学校网站代码模板asp.net网站开发试题
  • 搭建免费个人网站2022广告设计公司
  • 怎样制作印章seo网络推广是干嘛的