ARTS_week5

A

leetcode算法题目:


题目及示例

我的代码如下:

class Solution {
public:
    int removeElement(vector& nums, int val) {
        vector::iterator i;
        for(i = nums.begin(); i != nums.end(); i++){
            if(*i == val){
                nums.erase(i);
                i--;
            }
        }       
        return nums.size();
    }
};

本题较为简单,主要利用vector中的函数功能完成算法;本题仅需遍历数组中的每个值,发现与对应输入的``value```的值相同则删去。
对比其他代码:

class Solution {
public:
    int removeElement(vector& nums, int val) {
        if (nums.size() == 0) {
            return 0;
        }
        int k = 0;
        for (int i = 0; i < nums.size(); i++) {
            if (nums[i] != val) {
                nums[k] = nums[i];
                k++;
            }
        }
    return k;
    }
};

该作者是遍历数组中的值,然后使用满足要求的值覆盖原来的数组,使得原来的数组长度减少,以达到删除元素的目的,方法十分巧妙;而我使用的则是vector中自带的eraser()函数达到删除目的。


R

阅读文章:Okta Shows How IT Is Shaping Into Customizable Building Blocks
本文主要介绍了Okta将IT“分块”的一种思想。随着人工智能的发展,将各种技术与软件程序整合划分也变得更加重要。其认为在发展人工智能的道路上,需要将不同的技术功能划分整合成构建块,能让其之间以不同方式连接集成来构建新事物。身份管理公司Okta将其技术的一部分“打包”为“引擎”,使用“身份”来描述每个智能机器,设备和人工智能大脑在IT系统中的位置,通过构建引擎以通过身份管理控制服务全局。本文以“身份旅程”(如消费者与应用程序的一些交互,需要优化体验,同时又要对身份验证以保证安全性)举例,它就属于身份管理的一个构建块。


T

  1. VScode设置优化分享:
    settings.json文件中加入"C_Cpp.clang_format_fallbackStyle": "Google",可右击使用“格式化文档(Shift+Alt+F)”将代码格式格式化为Google风格,其他支持的风格:none, LLVM, Google, Chromium, Mozilla, WebKit;加入"editor.formatOnType": true可自动格式化该行代码(可作为格式参考)。
  2. vector的用法还是很不熟悉,对于参数的选择也不清晰,所以稍稍学习了一下:vector。

S

分享一个针对初学者程序员的文章:The Mistakes I Made As a Beginner Programmer

你可能感兴趣的:(ARTS_week5)