Java工程師的工資待遇怎么樣?
Java工程師的工資待遇怎么樣?
Java軟件工程師一般月薪范圍在4000-10000元,遠遠超過了應屆畢業(yè)生月薪 2500元的平均水平。通常來說,有一年工作經(jīng)驗的Java高級軟件工程師的薪酬大致在年薪10—13萬左右。
從Java的應用領域來分,Java語言的應用方向主要表現(xiàn)在以下三個方面:首 先是大中型的商業(yè)應用;其次是桌面應用,就是常說的C/S應用;再次是移動領域應用。
綜上而言JAVA就業(yè)方向為:可以從事JSP網(wǎng)站開發(fā)、Java編程、Java游戲開 發(fā)、Java桌面程序設計,以及其他與Java語言編程相關的工作??蛇M入電信、銀行、保險專業(yè)軟件開發(fā)公司等從事軟件設計和開發(fā)工作。
Java課程介紹
一階段:Java基礎
內(nèi)容有Java開發(fā)介紹、Java數(shù)組、Java面向?qū)ο蟆⒊S没A類、集合
、線程和I/O、異常處理、項目(坦克大戰(zhàn)、打飛機等)。
二階段:JavaWeb
內(nèi)容有HTML5入門、CSS3入門、Javascript、MySQL使用、JDBC連接池
、Servlet、ajax、jQuery、項目。
三階段:Java框架
內(nèi)容有Struts2、Hibernate5、JPA、Spring4、BootStrap、echarts
圖表插件使用、Maven、SpringData、SpringMVC。
四階段:Java 云數(shù)據(jù)
億級并發(fā)架構演進、Linux基礎、搭建tomcat環(huán)境、MysQL高級、
memcached、Redis、MongoDB(而選一)、elasticsearch、cobar、Quartz、nginx反向代理和負載均衡、SSL證書配置、Keepalived雙活、Haproxy、
LVS、nignx(三選一)、Rpc和Dobbo、ActiveMQ隊列、Hadoop、項目(上億人并發(fā)的搶票系統(tǒng))。
POJ 3040 Allowance 貪心
>
題目鏈接: poj 3040
貪心 看到題目的時候完全沒有什么思路,這類題目做的還是太少了,完全是面向題解編程。
我的(bierende)思路:**時間肯定是想到浪費的越少越好。 1. 當幣值大于C的時候,就直接用這個硬幣付工資。 2. 當幣值小于C的時候,就要想一種搭配方案,使得總的價值等于或者多于C但多余的錢要盡可能少,這個就比較難想到了。
而題目中有一個條件是,大的幣值能被小的整除,所以若干個小的一定能湊出大的,那么可以用一個大的或若干個小的的情況下,肯定是要選用一個大的,這樣之后的搭配方案才能更好的符合”超出C的錢盡可能少“這個條件。
所以, 當當幣值小于C的時候,從幣值**大的開始遍歷,一個小于C,那兩個、三個一直到n個,直到剛好等于C或者n 1個硬幣大于C,如果是后者,那就選n個,在從幣值更小的硬幣重復上面的過程,直到剛好等于C或者全部硬幣遍歷完 如果**后的全部遍歷完還是不能湊到剛好等于C,那么從小到大,直到找到一個加上這個硬幣剛好大于C的。如果找不到,就說明剩下的全部加起來已經(jīng)沒有C了,結束了
#include<cstdio> #include<algorithm> #include<iostream> #include<cstring> using namespace std; const int MAXN = 25; pair<int,int> p[MAXN];//存儲硬幣幣值和數(shù)量 int n, c; int main() { while(scanf("%d%d", &n, &c) == 2) { for(int i=0; i<n; i ) scanf("%d%d", &p[i].first, &p[i].second); sort(p, p n);//按幣值從小到大排序 int ans = 0, require, need[MAXN], rest; while(true) { rest = c; memset(need, 0, sizeof(need)); for(int i=n-1; i>=0; --i)//從大到小選擇 { if(p[i].second>0) { require = min(p[i].second, rest/p[i].first);//需要這個幣值的硬幣的數(shù)量 rest -= require*p[i].first; need[i] = require; } if(rest == 0) break;//剛好湊出C } if(rest) { for(int i=0; i<n; i )//從小到大選擇 { if(p[i].second && p[i].first>=rest)//加上這個硬幣(**?。┚蛣偤么笥贑 { rest = 0; need[i] ; break; } } } if(rest) break;//兩輪選擇后仍然湊不齊C,結束 int week = 1e8;//用這個方案能發(fā)多少個星期的工資 for(int i=0; i<n; i ) { if(need[i]) week = min(week, p[i].second/need[i]); } ans =week; for(int i=0; i<n; i )//把用掉的硬幣減去 { if(need[i]) p[i].second -= week*need[i]; } } cout << ans << endl; } return 0; }
相關推薦: