Algorithm

5. Longest Palindromic Substring

  • What 给定一个字符串s,找到s中最长的回文子字符串。 给定s的最大长度为1000。

  • How 这是一道比较经典的求最大回文子串的题目,算法也有多种,可能一开始都会想到用暴力法,找出所有子串然后进行判断,显然这样的效率是比较低的,本道题如果使用该方法有几个测试例子会出现超时现象。在这里用中心扩展法,从下标 i 出发遍历给定的字符串,用2个指针向 i 的两边扩展来找出最长回文子串,当然也可以使用动态规划在解此题。

  • Key Codes

class Solution {
public String longestPalindrome(String s) {
if (s.isEmpty()) {
return "";
}
if (s.length() == 1) {
return s;
}
String longest = s.substring(0, 1);
for (int i = 0; i < s.length(); i++) {
String tmp = helper(s, i, i);
if (tmp.length() > longest.length()) {
longest = tmp;
}
tmp = helper(s, i, i + 1);
if (tmp.length() > longest.length()) {
longest = tmp;
}
}
return longest;
}
public String helper(String s, int begin, int end) {
while (begin >= 0 && end <= s.length() - 1
&& s.charAt(begin) == s.charAt(end)) {
begin--;
end++;
}
String subS = s.substring(begin + 1, end);
return subS;
}
}

Review

Bad Habits Developers Should Fix

  • What 讲的是在成为开发人员时会遇到哪些其他问题以及相应的解决方法

Tip

  • What使用IDEA就可以直接连接数据库查询或修改数据,不需要再单独下载数据库客户端软件了
  • How步骤如下:
  • 1.打开IDEA软件工具,在工具类的右侧会看到Database图标,点击打开之后,会有一个加号按钮,点击创建一个新的数据库连接
  • 2.选择Data Source,然后再选择MySQL或者oracle,这里可以看到支持很多种数据库类型,这里选自己对应使用的数据库类型
  • 3.填写连接的数据库host,数据库名称,用户名以及密码,端口如果是mysql默认是3306,如果没有修改保持默认即可
  • 4.连接配置信息填写完成之后,点击Test Connection按钮测试连接是否可以正常连接,当出现Connection successful提示即表示测试连接成功,以上配置信息填写正确
  • 5.点击确定按钮后就可以开始愉快地在你的IDEA上操作数据库了
  • Why一般写代码一般调试数据的时候,可以都在IDEA工具中完成了,不需要再多次切换工具那么麻烦了

Share

  • How职场新人如何快速成长
  • 一.做人与做事孰轻孰重:
    • 1.恰当的时候,以恰当的方式去虚心请教,这是做事的方式;
    • 2.不同的阶段,以不同的心态面对工作,这是做人的方式。
  • 二.快速学习:
    • 1.学会从你的导师那学习解决问题的流程,思路,加上自己的想法,进步地就会快一些;
    • 2.学会发散思维,不要局限在你的本职工作,多去看看其他的资料,用发散的眼光看问题;
    • 3.踏实一点,循序渐进,不要停留在表明,深入分析。

最新文章

  1. sql server 分页存储过程
  2. url编码 中文在url参数中传递,在请求头,响应头中传递,是如何编码的呢?
  3. 问题解决——在结构体中使用set保存结构体数据
  4. TextBlock 格式化内容
  5. C语言中的%0nd,%nd,%-nd
  6. Codeforces 437B The Child and Set
  7. Java面向对象的编程
  8. 让struts2和servlet共存
  9. jQuery的三种bind/One/Live/On事件绑定使用方法
  10. Python -- Web -- 使用框架
  11. ElasticSearch的安装
  12. UIAlertControl的使用对比与UIAlertView和UIActionSheet
  13. 太嚣张了!他竟用Python绕过了“验证码”
  14. Linux中的轻量级进程
  15. eclipse中如何使用struts2
  16. 5 -- Hibernate的基本用法 --2 1 Hibernate 下载和安装
  17. mac securecrt无法记住密码的解决方法
  18. puremvc TS源码 (未测试...)
  19. 迅雷7 纯净版v7.9.18.4724
  20. 20162311 课堂测试 泛型类—Bag

热门文章

  1. oracle数据泵导入导出
  2. RHEL6 kernel bug在hadoop上的测试
  3. movable-view组件
  4. xml基础之二(XML结构【1】)
  5. elementUI下拉树组件封装
  6. 阶段1 语言基础+高级_1-3-Java语言高级_06-File类与IO流_08 转换流_3_转换流的原理
  7. 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_02 泛型_6_泛型通配符
  8. java8 list转Map报错Collectors.toMap :: results in &quot;Non-static method cannot be refernced from static context&quot;
  9. django框架ORM数据库
  10. 【MM系列】SAP MM模块-委外采购订单 把Warning转换成Error信息提示