2022-04-02 sql 排序 修改 动态规划

2022-04-02  本文已影响0人  16孙一凡通工

排序
order by
内置的判定 if(条件,条件true的输出,条件false的输出)
修改:
uodate table set colume=.....

删除重复了某个属性的数据:
delete from
用另一个表和当前的表做比对。

1873. 计算特殊奖金

select * from(
    select employee_id,
    if(employee_id%2!=0 and left(name,1)!='M',salary,0) as bonus
    from Employees
)t1 order by employee_id;

627. 变更性别

update  Salary
set sex=if(sex='f','m','f');

196. 删除重复的电子邮箱

delete p from Person p,Person v
where p.id>v.id and p.email=v.email;

动态规划:

剑指 Offer 42. 连续子数组的最大和

class Solution {
    public int maxSubArray(int[] nums) {
        int n=nums.length;
        int[] dp=new int[n];
        dp[0]=nums[0];
        int max=nums[0];

        for(int i=1;i<n;i++){
            
       dp[i]=Math.max(dp[i-1]+nums[i],nums[i]);
       max=Math.max(max,dp[i]);
        }
        return max;

    }
}

动态规划:很像之前笔试的题

剑指 Offer 47. 礼物的最大价值

java版本:

class Solution {
    public int maxValue(int[][] grid) {
        int m=grid.length,n=grid[0].length;

        int[][] dp=new int[m][n];
           dp[0][0]=grid[0][0];
        for(int i=1;i<m;i++){
            dp[i][0]=dp[i-1][0]+grid[i][0];
        }
          for(int i=1;i<n;i++){
            dp[0][i]=dp[0][i-1]+grid[0][i];
        }
     
        for(int i=1;i<m;i++){
            for(int j=1;j<n;j++){
                dp[i][j]=Math.max(dp[i-1][j]+grid[i][j],dp[i][j-1]+grid[i][j]);
            //   System.out.println(dp[i][j]);
            }
        }
        return dp[m-1][n-1];

    }
}
上一篇 下一篇

猜你喜欢

热点阅读