王红元高级讲师
专注移动开发领域,多年iOS开发和教学经验,曾经带领团队开发出众多款 优秀APP作品。
国内知名视频聊天软件 < 新浪秀场 > 就出自王老师之手,王老师全 面负责 < 新浪秀场 > iOS客户端的设计和开发,并参与了 < 新浪秀场 > Android、Windows 、web端
开发。同时王老师还曾兼职担任过多家公司技术顾问,帮助其解决开发中的 重点难题。
除此之外,王老师还主导开发了< 智慧城市 > < 天翼看交通 > < 公交wifi > 等热门APP。王老师开发过的作品涉及旅游、交通、社交、视频等方面,对即时聊天、流媒体等技术有深入研究。
王老师不但开发经验丰富,授课风趣幽默,且激情四射。擅长以各种生活中 的案例出发,帮助学生理解消化学习中的各种难点。另外,王老师教学总是以学生角度思考讲解,备受学生喜爱。
自学java与java培训该如何选择
从事IT培训行业这些年,身边经常有朋友来咨询,问现在是否可以加入这个高薪行业,Java学习难不难,需要哪些条件?
在软件开发设计行业当中,使用**多的编程语言就属Java软件开发了,很多人都想在Java编程开发领域寻求一份工作。
Java是当前世界上比较流行的计算机编程语言,Java彻底改变了人们的生活,国内的开发人才需求量仍然在不断的增长,主要原因还是在于移动互联网的快速发展,衍生出一大批的新生企业,创业公司,预计在未来5年内Java软件开发人才的需求将会远大于供给,其中java程序员、java工程师**为缺乏。
自学java与java培训是两个绕不开的话题,两者的区别,前者知识是自己搜寻的,买书看或者网上找视频看,而后者,技术知识是老师教的,作为一个普通大学生实际上任何人都能够自学,只不过聪明程度和坚持的时间长短不同,花费的时间长一点短一点而已。
学习关乎到时间和金钱,没有效果和质量的培训,其实是没有任何意义的。Java培训班有哪些呢?市面上的Java培训良莠不齐,选择时应该慎重些。Java致力于打造符合企业需求的全能型人才。课程定位定位中高级JAVA开发工程师,课程内容涉及面广,内容深。课程涵盖了Java、Web,数据库,企业流行框架,Java等企业**佳实践、云计算大数据课程、内容由浅入深,剖析原理,让学员掌握实用技术,做企业和社会需要的稀缺人才。
此外,Java培训将为你提供就业保障,开设有就业指导课,设有专门的就业指导老师,在毕业前期,毕业之际,就业老师会为你做专门的就业指导,更有职业素养课程,不仅将你打造成Java开发技术达人,更是一位懂得职场之道的合格就业者。还有丰富的Java学习视频免费为你提供学习。
JAVA 面对面授课
面对面授课
限制人数
每班人数不超过80人,老师能保证照顾到每位学员!
面对面授课
面对面教学可及时了解学生学情,根据学员课堂反馈调整上课进度,拒绝盲 目赶进度!
主讲辅导
课后主讲老师亲自辅导补习,0问题离开教室
积累人脉
面授班同学之间可短时间内培育感情,毕业后,你会发现Java程序员的圈子 里到处都是你的人脉,让你在职场上更加如虎添翼。
互动课堂教学
课堂互动性强,在好的学习氛围中激励学生自己发现问题和解决问题!也便 于老师及对学生学习效果进行测评纠错!
LeetCode387 First Unique Character in a String
>
题目
Given a string, find the first non-repeating character in it and return it’s index. If it doesn’t exist, return -1.
Examples:
s = “leetcode” return 0.
s = “loveleetcode”, return 2. Note: You may assume the string contain only lowercase letters. 即找到字符串中**个不重复的字母。
方法一
很自然的想到两次遍历来找到唯一的字符,同时利用字母只有26个的特点减少循环次数。
public int firstUniqChar(String s) { if (s.length() == 0) return -1; int[] test = new int[s.length()]; int count = 0; int result = -1; boolean found = true; for (int i = 0; i < s.length() && count < 27; i ) { if (test[i] == 1) continue; else count ; for (int j = i 1; j < s.length(); j ) { if (test[j] == 1) continue; if (s.charAt(i) == s.charAt(j)) { found = false; test[i] = 1; test[j] = 1; } } if (found) { result = i; break; } found = true; } return result; }方法二
嵌套循环毫无疑问效率低下,这是想到使用键值对记录每个字母的出现次数,同时利用hashmap去重的特性。
public int firstUniqChar1(String s) { if (s.length() == 0) return -1; int result = -1; Map<Character, Integer> map = new HashMap<>(); for (int i = 0; i < s.length(); i ) { char c = s.charAt(i); if (map.containsKey(c)) map.put(c, map.get(c) 1); else map.put(c, 1); } for (int i = 0; i < s.length(); i ) { char c = s.charAt(i); if (map.get(c) == 1) { result = i; break; } } return result; }虽然简化了步骤,但是map的使用仍然需要较多的时间开销。这是可以使用数组的1~26个位置代表a~z出现的次数。
public int firstUniqChar2(String s) { if (s.length() == 0) return -1; int result = -1; int[] record = new int[26]; for (int i = 0; i < s.length(); i ) { char c = s.charAt(i); int index = c - a ; record[index] ; } for (int i = 0; i < s.length(); i ) { char c = s.charAt(i); if (record[s.charAt(i)- a ] == 1) { result = i; break; } } return result; }
相关推荐:
体验课预约试听
倒计时
课程热线:
客服在线时间:早上9点~下午6点,其他时间请在线预约报名或留言,谢谢!