黄 凯高级讲师
多年移动互联网开发经验,精通Android与iOS开发,对JavaEE等后台技术也 有所研究。尤其精通Android平台的开发,对Android平台下的性能优化有极其丰富的经验。 曾就职于酷狗音乐担任高级Android软件工程师与Team Leader一职,带领超过20人的开发团队,有丰富的开发与管理经验。参与开发了<酷狗音乐>,<繁星网>,<中国电信移动办公>, <智慧天河>,<翼健康>,<创饷无限>,<外修管家>等20多款互联网热门应用。其不但开发经验丰富,教学幽默风趣,而且对 学生要求严格,坚持授人与鱼不如授人与渔的理念,注重培养学生的解决问题与自我思考的能力。
Java工程师的工资待遇怎么样?
Java工程师的工资待遇怎么样?
Java软件工程师一般月薪范围在4000-10000元,远远超过了应届毕业生月薪 2500元的平均水平。通常来说,有一年工作经验的Java高级软件工程师的薪酬大致在年薪10—13万左右。
从Java的应用领域来分,Java语言的应用方向主要表现在以下三个方面:首 先是大中型的商业应用;其次是桌面应用,就是常说的C/S应用;再次是移动领域应用。
综上而言JAVA就业方向为:可以从事JSP网站开发、Java编程、Java游戏开 发、Java桌面程序设计,以及其他与Java语言编程相关的工作。可进入电信、银行、保险专业软件开发公司等从事软件设计和开发工作。
java工程师课程
课程大纲
一阶段 | 二阶段 | 三阶段 |
---|---|---|
|
|
|
贪心算法 nyoj1057
>
贪心算法
在数据结构中,我们学习过普里姆算法,是一种在无向边中查找**短路径算法. 现在来看看贪心算法,在我脑中的. 以NYOJ1057为例 描述 给出一个整数N,每次可以移动2个相邻数位上的数字,**多移动K次,得到一个新的整数。
求这个新的整数的**大值是多少。 输入 多组测试数据。 每组测试数据占一行,每行有两个数N和K (1?≤?N≤?10^18; 0?≤?K?≤?100). 输出 每组测试数据的输出占一行,输出移动后得到的新的整数的**大值。 样例输入 1990 1 100 0 9090000078001234 6 样例输出 9190 100 9907000008001234 来源 原创 上传者 TC_李远航 1. 首先从数字的**位开始遍历 2. 每一次遍历的**后一个点,是可以用的步数 3. 直到步数等于0 就输出 4. 每一次在可用步数中查找**大个数 5. 记录下标,然后用步数减去下标加上起点 6. 在找到**大值后对数据进行交换位置的处理#include <iostream> #include <cstdio> using namespace std; #include <string.h> char num[19]; int main() { int k ; while(cin>>num>>k){ if(k==0){ cout << num << endl; continue; } //sPRintf(num, "%d", n); int length = strlen(num); int start = 0 ; //从**个开始遍历 int step = 0; //交换次数不可以超过k多少步; char tmp ; for( int i = 0 ; i < length ; i ){ tmp = num[i];//初始比较值 int index = 0; int flag = 1; for(int j = i 1 ; j<=i k && j<length ; j ){//从i 后面一个开始查找**大数 查找范围是现有步长之内 if(num[j]>tmp){ tmp = num[j]; index = j; flag = 0 ; } } if(!flag){ for( int q=index; q>i ; q--){ tmp = num[q]; num[q] = num[q-1]; num[q-1] = tmp; } k = k - index i; } if(k==0){ break; } } cout << num<< endl; } return 0; }
相关推荐: