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

唐山网站制作专业如何通过网络营销自己

唐山网站制作专业,如何通过网络营销自己,网店美工与视觉设计,安福网站建设leetcode 150道题 计划花两个月时候刷完,今天(第七天)完成了5道(15-19)150: 今天这些都是我之前做过的,还有就是今天的全都是模拟过程。。所以做的还算快。 15(13. 罗马数字转整数) 题目描述&a…

leetcode 150道题 计划花两个月时候刷完,今天(第七天)完成了5道(15-19)150:

今天这些都是我之前做过的,还有就是今天的全都是模拟过程。。所以做的还算快。

15(13. 罗马数字转整数)

题目描述:

罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。
字符          数值
I             1
V             5
X             10
L             50
C             100
D             500
M             1000
例如, 罗马数字 2 写做 II ,即为两个并列的 1 。12 写做 XII ,即为 X + II 。 27 写做  XXVII, 即为 XX + V + II 。
通常情况下,罗马数字中小的数字在大的数字的右边。但也存在特例,例如 4 不写做 IIII,而是 IV。数字 1 在数字 5 的左边,所表示的数等于大数 5 减小数 1 得到的数值 4 。同样地,数字 9 表示为 IX。这个特殊的规则只适用于以下六种情况:
I 可以放在 V (5) 和 X (10) 的左边,来表示 49。
X 可以放在 L (50) 和 C (100) 的左边,来表示 4090。 
C 可以放在 D (500) 和 M (1000) 的左边,来表示 400900。
给定一个罗马数字,将其转换成整数。

第一版(直接模拟过程了,没有啥算法,没有啥技术含量。。想不出来更好的)

class Solution {public int romanToInt(String s) {int len=s.length();int index=0;int sum=0;while(index<len){if(s.charAt(index)=='I'){if(index+1<len&&s.charAt(index+1)=='V'){sum+=4;index++;}  else if(index+1<len&&s.charAt(index+1)=='X'){sum+=9;index++;}else{sum+=1;}     }else if(s.charAt(index)=='X'){if(index+1<len&&s.charAt(index+1)=='L'){sum+=40;index++;}  else if(index+1<len&&s.charAt(index+1)=='C'){sum+=90;index++;}else{sum+=10;}     }else if(s.charAt(index)=='C'){if(index+1<len&&s.charAt(index+1)=='D'){sum+=400;index++;}  else if(index+1<len&&s.charAt(index+1)=='M'){sum+=900;index++;}else{sum+=100;} }else if(s.charAt(index)=='V'){sum+=5;}else if(s.charAt(index)=='L'){sum+=50;}else if(s.charAt(index)=='D'){sum+=500;}else if(s.charAt(index)=='M'){sum+=1000;}index++;}return sum;}
}

16 (12. 整数转罗马数字)

题目描述:
和上面这个一样 这个是数字转罗马数字:数字范围为:
1 <= num <= 3999
第一版:(还是模拟过程反着来,但是这个是leetcode中等题。。上面的是简单题)

class Solution {public String intToRoman(int num) {StringBuilder sb=new StringBuilder();while(num!=0){if(num>=1000){int qNum=num/1000;for(int i=0;i<qNum;i++){sb.append("M");}num%=1000;}else if(num>=100){int bNum=num/100;if(bNum==9){sb.append("CM");bNum-=9;}if(bNum>=5){sb.append("D");bNum-=5;}if(bNum==4){sb.append("CD");bNum-=4;}for(int i=0;i<bNum;i++){sb.append("C");}num%=100;}else if(num>=10){int sNum=num/10;if(sNum==9){sb.append("XC");sNum-=9;}if(sNum>=5){sb.append("L");sNum-=5;}if(sNum==4){sb.append("XL");sNum-=4;}for(int i=0;i<sNum;i++){sb.append("X");}num%=10;}else if(num>=1){if(num==9){sb.append("IX");num-=9;}if(num>=5){sb.append("V");num-=5;}if(num==4){sb.append("IV");num-=4;}for(int i=0;i<num;i++){sb.append("I");}break;}}return sb.toString();}
}

17 (58. 最后一个单词的长度)

题目描述:

给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。

第一版(这题我一看,很快,很快啊 直接 split 然后return 哈哈哈,但是一看解题意思要自己写。。)

class Solution {public int lengthOfLastWord(String s) {String[] strs=s.trim().split(" ");return strs[strs.length-1].length();}
}

第二版(算是自己写版,其实没必要都有接口了直接用多好,希望笔试时候出题人也能这样想。。)

class Solution {public int lengthOfLastWord(String s) {char[] chars=s.toCharArray();int index=chars.length-1;int len=0;while(index>=0){if(chars[index]!=' '){break;}index--;}while(index>=0){if(chars[index--]!=' '){len++;}else{break;}}return len;}
}

18 (14. 最长公共前缀)

题目描述:

编写一个函数来查找字符串数组中的最长公共前缀。
如果不存在公共前缀,返回空字符串 ""

这个题我知道有个横向和纵向的,但是每次想不到横向的。。。
第一版(纵向的也是好想到的)

class Solution {public String longestCommonPrefix(String[] strs) {if(strs.length<=1){return strs[0];}for(int i=0;i<strs[0].length();i++){char temp=strs[0].charAt(i);for(int j=1;j<strs.length;j++){if(i==strs[j].length()||strs[j].charAt(i)!=temp){return strs[0].substring(0,i);}}}return strs[0];}
}

第二版(横向的,我感觉有种逆思维的感觉,不是每次能想出来,他是用其中一个去和剩下的求最长公共序列,然后再用求出来公共序列再去和剩下的求,想法很好但不是很好想)

class Solution {public String longestCommonPrefix(String[] strs) {// 在写一下横向的 每次都想不起来横向的if(strs==null||strs.length<=0){return "";}int count=strs.length;if(count==1){return strs[0];}String preString=strs[0];for(int i=1;i<count;i++){preString=commonPrefix(preString,strs[i]);if(preString.length()==0){return preString;}}return preString;}public String commonPrefix(String str1,String str2) {int len1=str1.length();int len2=str2.length();int index=0;while(index<len1&&index<len2&&str1.charAt(index)==str2.charAt(index)){index++;}return str1.substring(0,index);}
}

19 (151. 反转字符串中的单词)题目描述:

给你一个字符串 s ,请你反转字符串中 单词 的顺序。
单词 是由非空格字符组成的字符串。s 中使用至少一个空格将字符串中的 单词 分隔开。
返回 单词 顺序颠倒且 单词 之间用单个空格连接的结果字符串。
注意:输入字符串 s中可能会存在前导空格、尾随空格或者单词间的多个空格。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。

第一版(这个题也有种让自己去实现已经有的api,我只写了一版,没有写自己实现的api…感觉太麻烦了有就用就行了。。)

class Solution {public String reverseWords(String s) {String[] strs=s.trim().split(" ");int len=strs.length;List<String> temp=new ArrayList();for(int i=len-1;i>=0;i--){if(!"".equals(strs[i])){temp.add(strs[i]);}}// 这个方法真的用的时候很多。。return String.join(" ",temp);}
}

加油早点跳槽!!今天就是把之前写过的回顾了一边,还行简单的没忘。。哦,我没有写困难的题目。。
早日跳槽!!

http://www.ds6.com.cn/news/44987.html

相关文章:

  • 好网站你知道重庆seo优化公司
  • 重庆市城乡建设和管理委员会网站搜盘网
  • 深圳高端网站建设美工哪个模板建站好
  • wordpress插件flashseo内部优化方式包括
  • 苹果cms永久免费建站北京债务优化公司
  • 做亚马逊常用的网站百度经验实用生活指南
  • 郑州建站多少钱电商软文范例100字
  • 贸易类文章网站外贸推广如何做
  • 义乌购网站做代销怎么样图片识别 在线识图
  • 商贸有限公司网站案例长沙官网网站推广优化
  • wordpress 伪静态 403seo推广软件代理
  • 免费做抽奖的h5网站外链工具xg下载
  • 旅游网站反链怎么做百度云官网登录首页
  • wap类网站优秀软文范例200字
  • 广州最穷的三个区广州王牌seo
  • 重庆建设安全管理网站北京关键词排名推广
  • 域名推荐网站常用的网站推广方法
  • 网站建设的投资预算怎么写a5站长网网站交易
  • 深圳工业设计公司排行榜孔宇seo
  • 怎样做自己的vip解析网站中和seo公司
  • 佛山网站推广优化公司国内新闻最新消息
  • 在哪人网站要以接it项目做传统营销方式有哪些
  • 活动手机网站开发一天赚2000加微信
  • 内网门户网站百度帐号登录入口
  • 菠菜网站怎么做排名推广普通话宣传标语
  • 海南找人做网站武汉网络推广公司
  • 辽宁网站开发百度关键词优化软件怎么样
  • 网站常用的网页在线客服网盘资源共享网站
  • 做下载类网站一年赚多少钱百度天眼查
  • 潍坊seo网站推广东莞新闻头条新闻